使用Excel转义CSV文件中的引号和分隔符
我尝试在Excel中导入CSV文件,使用;
作为分隔符,但一些列包含;
和/或报价。
我的问题是:我可以使用双引号来忽略特定string的分隔符,但是如果string中有双引号,它会忽略分隔符,直到第一个双引号,而不是之后。 我不知道是否清楚,解释起来并不容易。
我会试着用一个例子来解释一下:
假设我有这个string, this is a;test
:我使用双引号周围的string,忽略分隔符=>它的作品。
现在如果这个string包含分隔符和双引号:我的技巧不再工作了。 例如,如果我有这个stringthis; is" a;test
this; is" a;test
:我在string周围添加了双引号忽略第一部分的分隔符(这个部分的分隔符this; is
被正确忽略的,但是因为后面有一个双引号,所以Excel不会忽略下一个分隔符a;test
部分。
我尽力让自己尽可能清楚,希望你能明白是什么问题。
当读取csv文件中带引号的string时,Excel将使用单引号(“)解释所有双引号(”“)。
所以"this; is"" a;test"
将被转换为一个包含this; is" a;test
单元格this; is" a;test
this; is" a;test
因此,用双引号replacestring中的所有双引号。
导出为CSV时,Excel将反转此过程。
这里是一些CSV
a,b,c,d,e """test1""",""",te"st2,"test,3",test"4,test5
这是导入到Excel后的样子: