Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用解析wikipedia页面的列编写Csv_Python_Csv_Multiple Columns - Fatal编程技术网

Python 使用解析wikipedia页面的列编写Csv

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', '

我正在尝试更正下面的代码,无结果,为维基百科页面的每个属性(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', '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
的文档了吗?可以指定列分隔符。