Python 使用解析wikipedia页面的列编写Csv
我正在尝试更正下面的代码,无结果,为维基百科页面的每个属性(t、s、u、li、I)编写一个带有列的文件输出cvs 如何更改它以获得正确的输出Python 使用解析wikipedia页面的列编写Csv,python,csv,multiple-columns,Python,Csv,Multiple Columns,我正在尝试更正下面的代码,无结果,为维基百科页面的每个属性(t、s、u、li、I)编写一个带有列的文件输出cvs 如何更改它以获得正确的输出 import csv import wikipedia wikipedia.set_lang('it') fileout=open('D:\\GIS\\Dati\\Vinca\\out.csv', 'w', encoding="utf8") with open('D:\\GIS\\Dati\\Vinca\\specie_vinca_min.csv', '
import csv
import wikipedia
wikipedia.set_lang('it')
fileout=open('D:\\GIS\\Dati\\Vinca\\out.csv', 'w', encoding="utf8")
with open('D:\\GIS\\Dati\\Vinca\\specie_vinca_min.csv', 'rt', encoding="utf8") as f:
reader = csv.reader(f)
writer = csv.writer(fileout)
for row in reader:
try:
wikipage = wikipedia.page(row[0], auto_suggest=False)
t=wikipage.title
s=wikipage.summary
u=wikipage.url
li=len(wikipage.images)
i=wikipage.images[0]
tot=t, s, u, li, i
writer.writerow(tot)
except wikipedia.exceptions.PageError:
#if a "PageError" was raised, ignore it and continue to next link
continue
fileout.close()
f.close()
输出未制成表格:
我找到了解决办法
Wikipedia.summary输出包含许多\n导致列出现问题的内容。
添加st=s.replace('\n','')
,我消除了这个问题。
现在我有一个右列的表
import csv
import wikipedia
wikipedia.set_lang('it')
fileout=open('D:\\GIS\\Dati\\Vinca\\out1.csv', 'w', encoding="utf8")
with open('D:\\GIS\\Dati\\Vinca\\specie_vinca_min.csv', 'rt', encoding="utf8") as f:
reader = csv.reader(f)
writer = csv.writer(fileout, delimiter='|')
for row in reader:
try:
wikipage = wikipedia.page(row[0], auto_suggest=False)
t=wikipage.title
s=wikipage.summary
st=s.replace('\n',' ')
u=wikipage.url
li=len(wikipage.images)
i=wikipage.images[0]
tot= t,st,u, li, i
writer.writerow(tot)
except wikipedia.exceptions.PageError:
#if a "PageError" was raised, ignore it and continue to next link
continue
fileout.close()
f.close()
你看到了什么问题?错误输出是什么?输出没有列表,因此我在使用它进行Gis工作时遇到问题。看问题中的截图!默认情况下,CSV编写器将使用逗号。为什么您认为您的代码应该写为“列表”?记录中的文本包含逗号,所以我不能用它们来划分列。我试图插入“|”分隔符,但无效。我是初学者,可能有些简单的事情我弄错了。你看过
csv.writer
的文档了吗?可以指定列分隔符。