如何在CSV文件的字符串中包含“,”?

时间:2012-07-12 23:07:51

标签: csv

假装你有这样的字符串:

example_string = "
  "Hi, My name is "Fohsap", and I'm dumb"
  "Hi, Fohsap," she interrupted.
"

你正试图把它变成这样的CSV文件:

"example_recipient","example_string","example_recipient2","example_string2",..."example_recipientN","example_stringN"

2 个答案:

答案 0 :(得分:1)

逗号应该不是问题(因为你将在每个值周围使用双引号),但是你需要转义双引号。以下是一些指导原则:CSV reader,但实际上取决于您使用什么来读取文件。你还需要关注你的新行(对于Excel,只要你使用引号就不是问题,对于Unix你需要做正常的Unix转义,比如\ n)

答案 1 :(得分:1)

这会因使用的CSV实施而异,但一种常见的方法是引用字段,其中包含分隔符(,)字符。请注意,如果需要, quote ")字符会双重转义。 (见CSV: Basic Rules and Examples。)

因此,想象3个字段,ab,c"hello,world",可能写成:

a,"b,c","""hello,world"""

个别字段的推理:

a                 <- no escape/quote needed
"b,c"             <- quoted so [,] is not treated as separator
"""hello,world""" <- quoted for [,] and the ["]s are double-escaped

我建议编写您自己的CSV(或者更糟糕的是,手动创建字符串!),而是使用现有的库。它已经解决了错误和边缘情况,例如如何处理嵌入式换行符。

快乐的编码!