我正在尝试阅读混合CSV字段,其中有引号字段和非引号数字,其中包含以下内容:
from csv import reader
bar = """1234,"abc,def","dasd",341234234"""
foo = reader(bar)
[x for x in foo]
返回
[['1'], ['2'], ['3'], ['4'], ['', ''], ['abc,def'], ['', ''], ['dasd'], ['', ''], ['3'], ['4'], ['1'], ['2'], ['3'], ['4'], ['2'], ['3'], ['4']]
我尝试过使用 foo = reader(bar,delimiter =',',quotechar ='“')
但它仍然打破了数字。我基本上需要阅读csv.QUOTE_NONNUMERIC 来自作家,但它没有正确阅读。
答案 0 :(得分:2)
csv reader适用于文件对象。这是你可以做的
from csv import reader
import StringIO
bar = """1234,"abc,def","dasd",341234234"""
f = StringIO.StringIO(bar)
foo = reader(f, delimiter=',')
print [x for x in foo]
这会给你o / p
[['1234', 'abc,def', 'dasd', '341234234']]
希望对你有用。