我有一个有名称和数字的两列CSV。有些人的名字使用逗号,例如Joe Blow, CFA。这个逗号打破了CSV格式,因为它被解释为一个新列。
我已经读过了,最常见的处方似乎是替换字符,或替换分隔符,用一个新值(例如,这个|那个|the,其他)。
我真的希望保留逗号分隔符(我知道excel支持其他分隔符,但其他解释器可能不支持)。我还想在名字中保留逗号,因为Joe Blow| CFA看起来很傻。
是否有一种方法在CSV列中包含逗号而不破坏格式,例如通过转义它们?
我有一个有名称和数字的两列CSV。有些人的名字使用逗号,例如Joe Blow, CFA。这个逗号打破了CSV格式,因为它被解释为一个新列。
我已经读过了,最常见的处方似乎是替换字符,或替换分隔符,用一个新值(例如,这个|那个|the,其他)。
我真的希望保留逗号分隔符(我知道excel支持其他分隔符,但其他解释器可能不支持)。我还想在名字中保留逗号,因为Joe Blow| CFA看起来很傻。
是否有一种方法在CSV列中包含逗号而不破坏格式,例如通过转义它们?
当前回答
你需要引用这些值。 这是一个更详细的规范。
其他回答
你需要引用这些值。 这是一个更详细的规范。
CSV文件实际上可以使用不同的分隔符进行格式化,逗号只是默认值。
您可以使用sep标志为CSV文件指定分隔符。
只需添加一行sep=;作为CSV文件中的第一行,也就是说,如果您希望分隔符为分号。您可以将其更改为任何其他字符。
我发现一些应用程序,如Mac中的Numbers,如果双引号前面有空格,就会忽略它。
A, b,c不行而A, b,c可以。
您可以使用平面文件连接管理器中的Text_Qualifier字段作为“。这应该用引号来包装您的数据,并且仅用引号外的逗号分隔。
双引号对我没用,它对我有用。”如果你想放置双引号作为例子,你可以设置\"\"。
您可以构建公式,例如:
fprintf(strout, "\"=if(C3=1,\"\"\"\",B3)\"\n");
将写入csv:
=如果(C3 = 1”“B3)