我有一个两列 CSV,其中包含名称和编号。有些人的姓名使用逗号,例如 Joe Blow, CFA。
此逗号破坏了 CSV 格式,因为它被解释为新列。
我读过,最常见的处方似乎是用新值替换该字符或分隔符(例如 this|that|the, other
)。
我真的很想保留逗号分隔符(我知道Excel支持其他分隔符,但其他解释器可能不支持)。我还想在名称中保留逗号,如 Joe Blow| CFA
看起来很傻。
有没有办法在 CSV 列中包含逗号而不破坏格式,例如通过转义它们?
最佳答案
要对包含逗号 (,
) 或双引号 ("
) 字符的字段进行编码,请将该字段括在双引号中:
field1,"field, 2",field3, ...
文字双引号字符通常由一对双引号 (""
) 表示。例如,仅包含一个双引号字符的字段被编码为 """"
.
例如:
Sheet: |Hello, World!|You "matter" to us.|
CSV: "Hello, World!","You ""matter"" to us."
更多示例(工作表 → csv):
常规值
→常规值
新鲜的棕色“鸡蛋”
→“新鲜的棕色“鸡蛋”””
"
→""""
","
→""","""
,,,"
→",,,"""
,"",
→","""","
"""
→""""""""
参见wikipedia .
关于csv - 有没有办法在 CSV 列中包含逗号而不破坏格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55996759/