使用unicodecsv模块解析unicode csv

时间:2016-01-19 08:19:15

标签: python python-2.7 csv

使用Python 2.7解析console命令的csv输出。标准csv模块无法正常工作,因此我找到了unicodecsv模块。 迭代输出奇怪的结果(空列表或字符串分隔为字符),但我希望看到列表中包含每行的值:

import unicodecsv
csv_parsed = unicodecsv.reader(utf8_csv_string, delimiter=',')

for row in csv_parsed:
    print row

>[u'0']
>[]
>[u'']
>[u'', u'']
>[u'', u'']
>[u'', u'']
>[u'19102.00']
>[u'', u'']
>[u'2']
>[u'1']
>[u'2']
>[u'', u'']
>[u'0']
>[]

错误在哪里?

PS:使用Python 3不是一种选择。

1 个答案:

答案 0 :(得分:1)

根据文档unicodecsv需要一个字节流。所以

with open('file.txt', 'rb') as f:
    data = unicodecsv.reader(f, delimiter=',')

应该有效。实际上,如果您查看tests on github,您可以看到该库的作者是如何使用它的。