【问题标题】:Is there a cell length limit writing CSV files with Text::CSV?使用 Text::CSV 写入 CSV 文件是否存在单元格长度限制?
【发布时间】:2013-09-21 11:30:24
【问题描述】:

链接到这个问题 Writing CSV in perl

我正在解析 html 文件中的内容并使用 Text::CSV 将其写入 csv;效果很好。

但是,虽然内容大小超过 130000+ 个字符,但它会重叠或仅部分内容写入单元格中。

这是 csv 中单元格字符限制范围内的任何内容吗?

请给我一些建议。

更新

我使用此代码打印 csv。 $csv->print($fh, [$name, $table]);

如果变量包含字符 '[',']' 它会与下一个单元格重叠。

更新

从此链接

我正在尝试将内容写入 标记内,该标记具有很大的内容。

【问题讨论】:

  • 您的意思是单个值中有 130000+ 个字符吗?您确定 CSV 是最适合存储数据的格式吗?
  • 是的,所有这些字符都存储在一个变量中。
  • 你试过什么?您是否尝试过使用绝对“安全”的大字符值制作 CSV 文件(以防转义或换行出现问题)?例如写一个值为'a' x 140_000的单元格,看看它是否被截断
  • @plusplus 即使我手动复制并粘贴它,它在 csv 中也不起作用。

标签: perl csv


【解决方案1】:

问题出在 Excel。实际的CSV文件是正确的,但是根据Microsoft's documentation,Excel在单个单元格中不能读取超过32767个字符:

一个单元格可以包含的字符总数:32,767 个字符

您可以尝试其他编辑器,例如:

其中至少有一个可以满足您的需求。

【讨论】:

  • 感谢 Sundar,但我不是这个意思。我的意思是这些值占据了下一个单元格,它被破坏并添加到附近的单元格中。
  • 啊,那么拆分本身是错误的,可能是HTML解析代码的错误。你在做网站抓取吗?我的电子邮件 ID 在我的个人资料中,如果您给我发邮件,我可以尝试帮助您解决问题。
  • 即使我手动复制和粘贴内容,它在 csv 中也不起作用
  • 最好通过电子邮件告诉我您正在做什么、粘贴到哪里以及尝试阅读它的方式,以及单击我的名字时获得的电子邮件 ID。一旦我们确定问题出在哪里,我会用相关的解决方案更新答案,以供他人着想。
猜你喜欢
  • 2021-07-18
  • 2013-01-11
  • 1970-01-01
  • 2021-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
相关资源
最近更新 更多