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

时间:2017-04-07 09:00:38

标签: excel csv delimiter double-quotes

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

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

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

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

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

我尽力做到尽可能清楚,我希望你能理解这是什么问题。

2 个答案:

答案 0 :(得分:17)

当读取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后的样子:

enter image description here

答案 1 :(得分:-2)

将您的Excel文件导入openOffice并以CSV格式导出(用“与Excel csv,utf8不同,用逗号对”;”进行转义)。