【发布时间】:2010-09-13 11:52:29
【问题描述】:
我正在使用 php 生成一个 csv 文件,现在有些列包含一个带逗号的段落,现在当我打开文件时,文件中的每个逗号都算作一个新列,是否可以在方式?
【问题讨论】:
-
您使用什么库来解析(和写入)文件?带逗号的文字不是用引号括起来的吗?
我正在使用 php 生成一个 csv 文件,现在有些列包含一个带逗号的段落,现在当我打开文件时,文件中的每个逗号都算作一个新列,是否可以在方式?
【问题讨论】:
取决于,你的 CSV 阅读器是什么,“但是,引用,应该,工作”
【讨论】:
Many CSV readers 将允许在单列中使用逗号,方法是用双引号将列括起来。在这种情况下,双引号可以用双引号表示:
column 1,"column 2, with comma","column 3 with ""quote chars"", and comma"
【讨论】:
这是在 CSV 文件中使用 , 的大问题。我建议使用不同的分隔符,如 |(它不太可能出现在文本上)或使用不同的更强大的文件格式,如 XML 来生成文件。
【讨论】:
您使用逗号是因为它是分隔符。也就是说,无论何时使用,逗号都有特殊的含义。根据这个定义,很难将其视为上下文敏感的。不过,考虑到像'\n 这样的符号,它可以做到。
您可以尝试使用新的分隔符,例如 ,\n,尽管这可能不适合您。
在我看来,最好的解决方案是使用不同的持久性机制。否则事情会变得很粘。
【讨论】: