2017-04-07 71 views
0

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

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

我会尝试用一个例子来说明:

假设我有这个字符串this is a;test:我用双引号括起来的周围,忽略分隔符=>它的工作原理。

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

a;test一部分。我尽了最大努力尽可能明确,我希望你能明白是什么问题。

+0

你可能会喜欢的字符替换所有的双引号| = Chr(124),并在成功导入后反向更换。 ? – Variatus

+0

如果我理解正确的话,我应该替换所有'“'和'CHAR(124)'所以Excel中替换所有的报价与'|',但我怎么能在Excel中后扭转这种局面? – Whin3

回答

5

当在CSV文件中引用的字符串读书,Excel将其解释所有双引号(“”)的双引号(“”)

因此将被转换为一个包含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

相关问题