CSV 字段最大长度错误和设置 quoting=csv.QUOTE_NONE

CSV 字段最大长度错误和设置 quoting=csv.QUOTE_NONE

csvcut在以逗号分隔的 .csv 文件上运行后:

[root@server files]# csvcut -c title,mpn,overview,techspecs2,image_carousel_elargesrc syn_multi-image.csv > syn_scraped_cut.csv

我收到错误:

CSV 包含的字段长度超过最大长度 131072 个字符。尝试使用 field_size_limit 参数提高最大值,或尝试设置 quoting=csv.QUOTE_NONE。

虽然很大,但我可以肯定地告诉你,我的最长字段只有 65535 个字符长,这比允许的最大长度低了相当安全的距离。

我不知道设置quoting=csv.QUOTE_NONE指的是什么。我只使用了简单的 csvkit 命令,这就是我所知道的。

阅读类似的主题和答案,例如这里这里,特别是我无法在 csvkit 的上下文中提取任何类型的解决方案。我一般不擅长编程,并且仅限于使用 csvkit、它的命令和选项。

我该如何修复这个错误?

答案1

文档的状态csvkit表明该-z参数可用于调整FIELD_SIZE_LIMIT

所以我建议尝试使用相当高的数字:

csvcut -z 2500000 -c title,mpn,overview,techspecs2,image_carousel_elargesrc syn_multi-image.csv > syn_scraped_cut.csv

答案2

将 CSV 文件转换为 sqlite 数据库时,我遇到了完全相同的错误。该表包含超过一百万条记录。该表也不包含有 65535 条记录的字段。解决方案是编写一个脚本,将一个大表分成每个包含 100,000 条记录的小表,并将它们加载到 sqlite 数据库中。没有再发生错误。

相关内容