You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何快捷修复CSV文件中的行拆分问题(含近百万条记录)

如何快捷修复CSV文件中的行拆分问题(含近百万条记录)

老兄,手动改近百万行这哪是人干的活!给你几个高效的办法,分分钟搞定这种CSV行拆分的问题:

方法1:用专业文本编辑器的正则替换(适合非编程用户)

比如VS Code、Notepad++这类编辑器都支持正则批量替换,步骤超简单:

  1. 打开你的CSV文件,切换到「正则表达式」搜索模式(VS Code点搜索框的.*图标,Notepad++选「正则表达式」选项)
  2. 先试试这个通用规则:搜索栏输入 (?<![0-9])\n,替换栏留空,点击「全部替换」
    (原理:正常行最后一个字段是手机号(数字),被拆分的行结尾是地址的一部分,不是数字,这个规则会把这些行的换行符去掉,和下一行合并)
  3. 如果遇到地址里带数字的特殊情况,换个精准规则:搜索 (^(?:[^,]*,){2}[^,]*)\n,替换为 $1,重复替换直到没有匹配项。这个规则专门找只有2个逗号的不完整行,把它和下一行合并成完整记录。

方法2:用Python脚本(适合有基础的用户,大文件效率拉满)

百万级别的文件用脚本处理最稳,还能应对复杂情况(比如地址里带逗号),直接复制下面的代码改个文件路径就行:

import csv

# 这里改成你的输入输出文件路径
input_file = "损坏的文件.csv"
output_file = "修复后的文件.csv"

with open(input_file, 'r', encoding='utf-8') as infile, open(output_file, 'w', encoding='utf-8', newline='') as outfile:
    writer = csv.writer(outfile)
    current_row = []
    for line in infile:
        stripped_line = line.strip()
        if not stripped_line:
            continue
        # 拆分当前行的字段
        fields = [f.strip() for f in stripped_line.split(',')]
        # 判断是不是新的记录:第一个字段是数字(对应sno列)
        if fields[0].isdigit():
            # 如果上一条记录还没写完,先写入文件
            if current_row:
                writer.writerow(current_row)
            current_row = fields
        else:
            # 把拆分的内容合并到上一行的地址字段
            if current_row:
                current_row[2] += fields[0]  # address是第3列,索引从0开始是2
                # 如果当前行还有手机号,直接补上
                if len(fields) > 1:
                    current_row[3] = fields[1]
    # 写入最后一条记录
    if current_row:
        writer.writerow(current_row)

运行前记得备份原文件,跑起来之后你该干嘛干嘛,百万行分分钟就能处理完。

方法3:用命令行sed工具(适合Linux/Mac用户,一行命令搞定)

打开终端,直接敲下面的命令,把broken.csv换成你的原文件名,fixed.csv是修复后的文件:

sed -e :a -e '/,.*,.*,/!{N;ba' -e '}' broken.csv > fixed.csv

这个命令会自动识别字段不完整的行(没有3个逗号的行),自动把它和下一行合并,直到形成完整的4字段记录,全程不用你操心细节。

重要提醒

  • 不管用哪种方法,先备份原文件! 百万行数据出错了真的很难救
  • 如果你的CSV里有带逗号的字段(比如地址是"Kolkata, West Bengal"),优先用Python脚本的方法,因为正则和sed可能会误判

备注:内容来源于stack exchange,提问作者Jagapathibabu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 14:29:53