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

Iam*_*bit 4 python csv file file-read

我是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)
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我为什么它不起作用吗?我现在真的很挣扎...

K. *_*uhr 7

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

csvFile = csv.reader(ftpstream.read().decode('latin-1'))
Run Code Online (Sandbox Code Playgroud)

csvFile = csv.reader(ftpstream.read().decode('latin-1').split('\n'))
Run Code Online (Sandbox Code Playgroud)

我相信它会按您的预期工作。