CSV会在非分隔符

时间:2016-09-20 16:45:45

标签: python csv

我正在尝试阅读混合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 来自作家,但它没有正确阅读。

1 个答案:

答案 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']]

希望对你有用。