gpt4 book ai didi

python - 字段内包含引号和逗号字符的 CSV 文件

转载 作者:太空狗 更新时间:2023-10-29 20:42:48 26 4
gpt4 key购买 nike

我有一堆要解析的 CSV 文件 - 问题是一半的引号用作引号,主字段内有逗号。它们不是真正的 CSV,但它们确实有固定数量的可识别字段。 dialect=csv."excel"设置在字段内没有额外的 "和 , 字符的文件上完美运行。

此数据是旧的/不受支持的。我正在努力为它注入(inject)一些活力。

例如

"AAAAA
AAAA
AAAA
AAAA","AAAAAAAA


AAAAAA
AAAAA "AAAAAA" AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA, AAAAA
AAAAAAAAA AAAAA AAAAAAAAAA
AAAAA, "AAAAA", AAAAAAAAA
AAAAAAAA AAAAAAAA
AAAAAAA
"

这会触发文件解析器,并抛出错误 _csv.Error: newline inside string。我通过从第二个字段中删除引号将其缩小到这个问题,并且 csv.reader 模块解析文件 OK。

有些字段是多行的——我不确定知道这些是否重要。

我一直在研究方言设置,虽然我可以找到“skipinitialspace”,但这似乎并不能解决问题。

要清楚 - 这不是有效的“CSV”,它的数据对象松散地遵循 CSV 结构,但在字段测试中有 , 和 "字符。

行终止符是\x0d\x0a

我在 dialect 模块中对双引号和引号变量的不同排列进行了多次尝试,但无法正确解析。

我不能确信 ,, 或 ", 组合仅存在于字段边界上。

这个问题只存在于文件中的几个字段中的一个(最后一个),并且有几千个文件。

最佳答案

你试过通过csv.QUOTE_NONE吗?通过 quoting 关键字参数?如果没有一些代码或数据来对此进行测试,我无法知道这是否真的适用于您的数据,但它似乎适用于您提供的片段。

>>> import csv
>>> r = csv.reader(open('foo.csv', 'rb'), quoting=csv.QUOTE_NONE)
>>> for row in r: print row
...
['"A"', '"B"', '"ccc "ccccccc" cccccc"']

关于python - 字段内包含引号和逗号字符的 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9236044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com