读取 csv 文件 - 一个列表中的每个字符

csv file read - every single character in one single list

我是 python 的新手,确实需要一些帮助(我现在还没有找到任何对我有帮助的东西)。

我想将 csv 文件读入 list,但遗憾的是我的输出与预期不符。而不是像这样的列表:

[[Weiz;61744],[Deutschlandsberg;5645]]

我有一个如下所示的列表:

[['W'],['e'],['i'], etc.]

我的代码如下所示:

def readCSV(file):
    for row in open(file,"r+"):
        ftpstream = urllib.request.urlopen(row)
        csvFile = csv.reader(ftpstream.read().decode('latin-1'))
        data = [row for row in csvFile]
        for row in data:
            print(row)

谁能告诉我为什么它不起作用?我现在真的很挣扎...

根据您的文件,我认为使用 readLine() 而不是 read() 应该可以达到您想要的效果。例如:

csvFile = csv.reader(ftpstream.readLine().decode('latin-1'))

而不是

csvFile = csv.reader(ftpstream.read().decode('latin-1'))

函数 csv.reader 需要接收行列表,而不是单个字符串(例如 ftpstream.read().decode('latin-1') 返回的)。如果替换:

csvFile = csv.reader(ftpstream.read().decode('latin-1'))

csvFile = csv.reader(ftpstream.read().decode('latin-1').split('\n'))

我相信它会如您所愿。