Excel转CSV时出现标点缩进异常、多余双引号及空行问题如何解决
Excel转CSV多余引号、字段换行问题解决方法
方法1:导出前调整Excel内容(从源头规避问题)
出现该问题的核心原因是单元格内本身包含双引号、隐形换行符,Excel导出CSV时会自动对特殊字符做转义处理,最终导致格式错乱,导出前先做两步替换即可解决:
- 选中所有要导出的单元格区域,按下
Ctrl+H调出替换窗口 - 替换双引号:查找内容输入
",替换为输入"",点击「全部替换」 - 替换隐形换行:保持替换窗口打开,查找内容按下
Ctrl+J(该快捷键会输入换行符,输入后查找内容框看起来是空的属于正常情况),替换为输入空格或者其他你需要的分隔符,点击「全部替换」 - 完成替换后再正常执行「另存为」→「CSV UTF-8(逗号分隔)(*.csv)」操作即可
方法2:已导出CSV文件快速修复
如果已经导出文件不想重新生成,可直接用Notepad++修复:
- 用Notepad++打开目标CSV文件,按下
Ctrl+H调出替换窗口,左下角查找模式选择「正则表达式」 - 修复换行错位:查找内容输入
"\R,替换为留空,点击「全部替换」即可把跳到下一行的结尾引号和多余换行删除 - 修复开头多余引号:查找内容输入
^"",替换为输入",点击「全部替换」即可修正开头多余的转义引号
方法3:批量文件自动化处理
如果你需要处理大量同类文件,可运行以下Python脚本自动完成修复:
import csv # 替换为你的源文件路径和输出路径 input_path = "损坏的文件.csv" output_path = "修复后的文件.csv" with open(input_path, "r", encoding="utf-8") as in_f: reader = csv.reader(in_f) rows = list(reader) with open(output_path, "w", encoding="utf-8", newline="") as out_f: writer = csv.writer(out_f, quoting=csv.QUOTE_MINIMAL) writer.writerows(rows)
内容的提问来源于stack exchange,提问作者Bokambo
相关产品推荐
相关产品推荐

