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

Escaping quotes and delimiters in CSV files with Excel

我试图在Excel中导入一个csv文件,使用;作为分隔符,但有些列包含;和/或报价。

我的问题是:我可以使用双引号忽略特定字符串的分隔符,但是如果字符串中有双引号,它将忽略分隔符,直到第一个双引号,而不是之后。我不知道这是否清楚,也不容易解释。

我将尝试用一个例子来解释:

假设我有一个字符串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

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

这就是导入到Excel后的情况:

enter image description here