我尝试在Excel中导入CSV文件,使用;
作为分隔符,但有些列包含
;
和/或引号。
我的问题是:我可以使用双引号来忽略特定字符串的分隔符,但如果字符串中有双引号,它会忽略分隔符,直到第一个双引号,但不会在之后。 我不知道它是否清楚,解释起来并不容易。
我将尝试用一个例子来解释:
假设我有这个字符串this is a;test
:我在字符串周围使用双引号,忽略delimiter =>它有效。
现在,如果这个字符串包含分隔符和双引号:我的技巧不再起作用了。例如,如果我有字符串this; is" a;test
:我在字符串周围添加双引号忽略第一部分的分隔符(部分this; is
中的分隔符被正确忽略,但由于之后有双引号, Excel不会忽略a;test
部分中的下一个分隔符。
我尽力做到尽可能清楚,我希望你能理解这是什么问题。
答案 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后的样子:
答案 1 :(得分:-2)
将您的Excel文件导入openOffice并以CSV格式导出(用“与Excel csv,utf8不同,用逗号对”;”进行转义)。