使用 Excel 转义 CSV 文件中的引号和分隔符

Escaping quotes and delimiters in CSV files with Excel

我尝试在 Excel 中导入 CSV 文件,使用 ; 作为分隔符,但有些列包含 ; and/or 引号。

我的问题是:我可以使用双引号来忽略特定字符串的分隔符,但是如果字符串中有双引号,它会忽略第一个双引号之前的分隔符,但不会忽略之后的分隔符。 不知道讲清楚没有,没那么容易解释。

我会试着用一个例子来解释:

假设我有这个字符串 this is a;test:我在字符串周围使用双引号,以忽略定界符 => 它有效。

现在,如果此字符串包含定界符和双引号:我的技巧不再有效。例如,如果我有字符串 this; is" a;test :我在字符串周围添加的双引号会忽略第一部分的分隔符(正确忽略 this; is 部分中的分隔符,但由于后面有一个双引号, Excel 不会忽略 a;test 部分中的下一个分隔符。

我尽量说清楚了,希望你能明白问题出在哪里。

在 csv 文件中读取带引号的字符串时,Excel 会将所有双引号对 ("") 解释为单双引号 (")。

所以 "this; is"" a;test" 将被转换为包含 this; is" a;test

的一个单元格

所以用成对的双引号替换字符串中的所有双引号。

Excel 将在导出为 CSV 时反转此过程。

这是一些 CSV

a,b,c,d,e
"""test1""",""",te"st2,"test,3",test"4,test5

这是导入 Excel 后的样子:

在 openOffice 中导入您的 Excel 文件并导出为 CSV(使用“转义的列不同于 Excel csv,utf8,逗号反对“;”)。