質問編集履歴

1

手順、試した内容について追記しました。

2018/03/19 10:18

投稿

nifch
nifch

スコア28

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,97 @@
19
19
  どうすれば良いでしょうか。
20
20
 
21
21
  助けて頂けないでしょうか
22
+
23
+
24
+
25
+ 追記
26
+
27
+ 記載不足でした。
28
+
29
+ まず以下のような、ある固有名詞をwebからbeautifulsoupを用いて抽出しました。
30
+
31
+ ```python
32
+
33
+ from urllib.request import urlopen
34
+
35
+ from bs4 import BeautifulSoup
36
+
37
+ import re
38
+
39
+ html=urlopen("http://data.kew.org/sid/SidServlet?Clade=UNCERTAIN&Order=&Family=&APG=off&Genus=&Species=&StorBehav=0&WtFlag=on")
40
+
41
+ bsObj=BeautifulSoup(html,"lxml")
42
+
43
+ linkslist=list()
44
+
45
+ nameslist=list()
46
+
47
+ weightlist=list()
48
+
49
+ for basedlink in bsObj.findAll("a",href=re.compile("^(SidServlet?)")):
50
+
51
+ if 'href' in basedlink.attrs:
52
+
53
+ print(basedlink.attrs['href'])
54
+
55
+ linkslist.append(basedlink.attrs['href'])
56
+
57
+ print(linkslist)
58
+
59
+
60
+
61
+ for ids in linkslist:
62
+
63
+ names = bsObj.findAll("a",{"href":ids})
64
+
65
+ print(names)
66
+
67
+ for name in names:
68
+
69
+ nameslist.append(name.get_text()) ##種名をリストにしました
70
+
71
+ ```
72
+
73
+ 以下のようなリストを得られました。
74
+
75
+ リスト名:nameslist
76
+
77
+ > ['Adinandra dumosa Jack', 'Adinandra millettii (Hook. & Arn.) Benth. & Hook. f. ex Hance', 'Anneslea fragrans Wall.', 'Bergia ammannioides Roxb. ex Roth', 'Bergia barklyana G.J.Leach', 'Bergia glutinosa Dinter & Schulze-Menz', 'Bergia henshallii G.J.Leach', 'Bergia occultipetala G.J.Leach', 'Bergia pedicellaris (F.Muell.) Benth.', 'Bergia pentheriana Keissl.', 'Bergia polyantha Sond.', 'Bergia spathulata Schinz', 'Bergia suffruticosa Fenzl', 'Bergia texana (Hook.) Seub. ex Walp.', 'Bergia trimera Fisch. & C.A.Mey.', 'Bonnetia sessilis Benth.', 'Cardiopteris moluccana Bl.', 'Citronella smythii (F.Muell.) R.A.Howard', 'Cynomorium coccineum L.', 'Cynomorium coccineum L. subsp. songaricum (Rupr.) J.Léonard', 'Elatine californica A.Gray', 'Elatine gratioloides A.Cunn.', 'Elatine hexandra DC.', 'Elatine hydropiper L.', 'Elatine macropoda Guss.', 'Eurya groffii Merr.', 'Eurya nitida Korth.', 'Eurya obtusifolia Hung T.Chang var. aurea (H. Lév.) T.L. Ming', 'Eurya pseudocerasifera Kobuski', 'Eurya tetragonoclada Merr. & Chun', 'Eurya weissiae Chun', 'Eurya yunnanensis P.S.Hsu', 'Ixerba brexioides A.Cunn.', 'Ploiarium alternifolium (Vahl) Melchior', 'Quintinia acutifolia Kirk', 'Quintinia sieberi A.DC.', 'Quintinia verdonii F.Muell.', 'Sarcophyte sanguinea Sparrm. subsp. piriei (Hutch.) B.Hansen', 'Ternstroemia cherryi (Bailey) Merr. ex Bailey & C.T.White', 'Ternstroemia gymnanthera Sprague', 'Ternstroemia japonica Thunb.', 'Ternstroemia magnifica Stapf ex Ridl.', 'Ternstroemia sp.']
78
+
79
+
80
+
81
+ 次にこれを
82
+
83
+ ```ここに言語を入力
84
+
85
+ csvfile=open('test.csv',"w+",newline='')
86
+
87
+ write=csv.writer(csvfile)
88
+
89
+ write.writerow(nameslist)
90
+
91
+ ```
92
+
93
+ で書き込んだところ下のように列にならなかったため
94
+
95
+ ![a](93d945e310f3bd38f2331116c1a270e5.png)
96
+
97
+
98
+
99
+ ```ここに言語を入力
100
+
101
+ for a in nameslist:
102
+
103
+ write.writerow(a)
104
+
105
+ ```
106
+
107
+ を実行すれば、開業されていくかと思って実行したところ
108
+
109
+ このように一文字ずつセルに書き込まれてしまいました。
110
+
111
+ ![イメージ説明](d248a5a11f5e95534a8d976c5e43436b.png)
112
+
113
+ 改行はされているのですが、なぜか一文字ずつセルに入ってしまい困惑しています。
114
+
115
+ 二列に並べるどころか一列に書き込むことすらうまくいきません。