我应该如何避免CSV文件中的逗号和语音标记,以便它们在Excel中工作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

我正在生成一个CSV文件(用逗号而不是制表符分隔)。我的用户很可能通过双击来打开Excel中的CSV文件。我的数据可能包含逗号和语音标记,因此我将按以下方式对它们进行转义。

Reference, Title, Description
1, "My little title", "My description, which may contain ""speech marks"" and commas."
2, "My other little title", "My other description, which may also contain ""speech marks"" and commas."

据我所知,这一直是我要做的事情。这是我的烦恼:当我在Excel 2010中打开这个文件时,我的转义就不受尊重了。语音标记出现在工作表上,逗号将导致新列。

提问于
用户回答回答于

我们最终找到了答案。

只有在列值前面没有空格的情况下,Excel才会尊重逗号和语音标记的转义。所以生成没有空格的文件...

Reference,Title,Description
1,"My little title","My description, which may contain ""speech marks"" and commas."
2,"My other little title","My other description, which may also contain ""speech marks"" and commas."

用户回答回答于

以下是规则,如果你认为它是随机的。可以根据这些规则创建实用程序函数。

  1. 如果该值包含逗号、换行符或双引号,则字符串值应以双引号括起来。
  2. 值中的任何双引号都应该用另一个双引号转义。
  3. 如果该值不包含逗号、换行符或双引号,则字符串值应不变地返回。

扫码关注云+社区