Excel编辑保存CSV文件时自动添加多余双引号如何解决?
解决Excel编辑CSV自动追加多余双引号的问题
问题原因
CSV标准规范中要求:如果单元格内容本身包含双引号,保存时需要用两个连续双引号来转义原有双引号,Excel默认保存CSV时会自动遵循该规则,就会出现你遇到的额外加层双引号的情况,对应现象如下:
编辑后输入内容:
case when table1=1 AND MODELE = "Edited" THEN result
默认保存CSV后变为:case when table1=1 AND MODELE = ""Edited"" THEN result
解决方案
方案1:使用纯文本编辑器编辑(最稳妥)
不要用Excel打开修改CSV,换用Notepad++、VS Code、系统自带记事本这类纯文本编辑器打开文件,修改完成后直接保存,不会触发自动转义加引号的逻辑,完全保留原有内容格式。
方案2:Excel编辑后用改后缀方式保存
如果必须用Excel完成编辑,可以不走默认CSV保存流程:
- 编辑完成后点击「文件」-「另存为」,保存类型选择文本文件(制表符分隔)(*.txt),保存到本地
- 找到刚才保存的
.txt文件,直接把后缀名修改为.csv即可,该方式不会触发双引号自动转义
方案3:通过Excel数据导入导出向导处理
如果需要长期用Excel处理该类带内部引号的CSV,可以用导入导出向导规避转义:
- 导入时不要直接双击CSV文件,先打开空白Excel,点击「数据」选项卡-「自文本/CSV」,选择目标文件
- 导入设置页中,分隔符选择逗号,文本限定符选择「无」,完成导入后正常编辑内容
- 导出时同样通过数据导出功能,保存时设置文本限定符为「无」,再保存为CSV格式即可
临时处理小技巧
如果只是少量单元格需要修改,可以在编辑前先把对应单元格的格式设置为「文本」,再修改内容,也能降低自动转义加引号的概率。
内容的提问来源于stack exchange,提问作者infodev
相关产品推荐
相关产品推荐

