如何在CSV文件中转义逗号(,)以避免列拆分?
解决CSV字段内逗号被误拆分的问题
当CSV文件的字段内容包含逗号时,解析器会错误地将这些逗号识别为列分隔符,导致字段被拆分成多个列。比如你的test.csv内容:
key,eng,gr chose,Choose your preferred means of transport (Car, Bus, Train),Wählen Sie Ihr bevorzugtes Transportmittel (Auto, Bus, Bahn)
其中括号里的逗号会让解析器把Car、Bus当成单独列,破坏了字段的完整性。
有两种可靠的解决方法:
用双引号包裹含逗号的字段(推荐,符合CSV标准规范)
将包含逗号的整个字段用双引号括起来,解析器会自动识别引号内的内容为单个完整字段。修改后的文件内容如下:key,eng,gr chose,"Choose your preferred means of transport (Car, Bus, Train)","Wählen Sie Ihr bevorzugtes Transportmittel (Auto, Bus, Bahn)"用反斜杠转义逗号(兼容性稍弱)
部分CSV解析工具支持用反斜杠转义字段内的逗号,以此避免被识别成分隔符,修改后示例:key,eng,gr chose,Choose your preferred means of transport (Car\, Bus\, Train),Wählen Sie Ihr bevorzugtes Transportmittel (Auto\, Bus\, Bahn)
优先选择双引号包裹的方式,因为它是CSV的通用标准,几乎所有解析工具都能正确处理。
内容的提问来源于stack exchange,提问作者Rafsan Uddin Beg Rizan
相关产品推荐
相关产品推荐

