我想阅读两种不同类型的CSV-文件:
','作为分隔符的';'作为分隔符的我试图通过以下操作来检查我使用的是哪个分隔符:
dialect = csv.Sniffer().sniff(csvfile, [',', ';'])
data = csv.reader(csvfile, dialect)但是我得到了TypeError : expected string or buffer。
如果我这样做,它可以工作,但我不知道什么时候使用什么分隔符。
data = csv.reader(csvfile, delimiter = ",")
data = csv.reader(csvfile, delimiter = ";")有人能帮帮我吗?
发布于 2013-02-26 16:19:54
Sniffer期望的是样本串,而不是文件。你所需要做的就是:
dialect = csv.Sniffer().sniff(csvfile.readline(), [',',';'])
csvfile.seek(0)
data = csv.reader(csvfile, dialect)查找很重要,因为您正在使用readline命令移动文件中的当前位置,并且需要将其重新设置为文件的开头。否则你会丢失数据。
https://stackoverflow.com/questions/15093952
复制相似问题