跳到主要内容

大型 CSV · 实用指南

大型 CSV 文件的拆分方法

打开 CSV 拆分

Excel 无法打开的 CSV,可以按数据行数、目标大小或列值拆分。本文简要说明工具选择和避免乱码的方法。

发布日期:

更新日期:

适用工具: 按行数或大小拆分

结论:根据拆分条件选择工具

小型的一次性文件可以用 Excel,重复的 Excel 工作可以用 Power Query;要在浏览器中直接拆分 50MiB 以下的 CSV,可以使用 LocaCSV。大型文件不适合靠复制粘贴手工拆分。

试用 CSV 拆分模拟

切换拆分方式,查看同一份 6 行示例 CSV 会生成哪些输出文件。

拆分方式

拆分前:orders.csv

6 个数据行133B

订单编号门店金额
A001北京1200
A002上海800
A003北京1500
A004上海600
A005北京900
A006上海1100

拆分后

拆成 3 个文件

orders_001.csv

2 个数据行63B

订单编号门店金额
A001北京1200
A002上海800
orders_001.csv2 个数据行63B
订单编号门店金额
A001北京1200
A002上海800
orders_002.csv

2 个数据行63B

订单编号门店金额
A003北京1500
A004上海600
orders_002.csv2 个数据行63B
订单编号门店金额
A003北京1500
A004上海600
orders_003.csv

2 个数据行63B

订单编号门店金额
A005北京900
A006上海1100
orders_003.csv2 个数据行63B
订单编号门店金额
A005北京900
A006上海1100

大型 CSV 无法打开的常见原因

CSV 虽然是纯文本,但打开它的软件仍有限制。Excel 一张工作表最多 1,048,576 行,较小的文件也可能因内存或数据结构而变慢。

  • 数据行超过 Excel 工作表上限。
  • 加载文件时可用内存不足。
  • 分隔符或字符编码选择错误。
  • 直接切割逗号或换行,破坏引号中的内容。

Excel、Power Query、Python、LocaCSV 对比

请根据文件大小、执行频率和能否维护代码来选择。

四种大型 CSV 拆分方法
方法适用场景优点注意事项
Excel小型、只处理一次的文件界面熟悉行数上限和手工错误
Power Query重复执行 Excel 导入可重新运行已有步骤输出多个 CSV 需额外设置
Python大型或定期任务容易自动化需维护环境和代码
LocaCSV快速拆分 50MiB 以下 CSV直接在浏览器中使用最多 100 个输出;按值时限 1 列
  • Excel

    适用场景
    小型、只处理一次的文件
    优点
    界面熟悉
    注意事项
    行数上限和手工错误
  • Power Query

    适用场景
    重复执行 Excel 导入
    优点
    可重新运行已有步骤
    注意事项
    输出多个 CSV 需额外设置
  • Python

    适用场景
    大型或定期任务
    优点
    容易自动化
    注意事项
    需维护环境和代码
  • LocaCSV

    适用场景
    快速拆分 50MiB 以下 CSV
    优点
    直接在浏览器中使用
    注意事项
    最多 100 个输出;按值时限 1 列

使用 LocaCSV 拆分的步骤

如果预览中的列错位,请先修正分隔符或字符编码。

  1. 按行数或大小时打开 CSV 拆分;按列值时打开按值拆分,然后选择一个 CSV。
  2. 确认表头、编码、分隔符和预览。
  3. 输入每个文件的数据行数或目标大小;按值页面则选择一列。
  4. 拆分后核对行数,再下载 ZIP。
按行数或大小拆分

按列值拆分的方法

按值拆分会为所选列中的每个值建立一个 CSV。例如“门店”列有北京、上海、深圳,就会生成三个文件。

  • 相同值的行会进入同一个输出文件。
  • 空白值可以排除或输出到独立文件。
  • 每次选择 1 列,最多输出 100 个文件。
按值拆分

行数与文件大小注意事项

LocaCSV 接受一个 50MiB 以下的 CSV。实际速度还会受到设备、每行长度和输出数量影响。

  • 行数模式不计算表头,只计算每个文件中的数据行。
  • 目标大小包含输出编码、BOM 和重复表头,不会切断单条记录。
  • 保留源文件,并在使用输出前核对数据行数。

字符编码与乱码处理

中国大陆旧系统常见 GBK,LocaCSV 可手动选择 GB18030,但没有单独的 GBK 选项。先检查预览;若仍有乱码,请在本地转成 UTF-8 或 GB18030。

  • 在预览中检查简体中文、全角标点和生僻字。
  • 列错位时先检查分隔符。
  • 编码不明时,查看源系统的导出设置。