CSV 拆分

CSV 拆分,是指把一个大 CSV 文件按行数或按某一列的取值切成多个小 CSV 的操作,常用于文件太大 Excel 打不开、导入系统有行数限制,或把总表按地区、部门分发。本工具可按每 N 行、平均 N 份、某列的值三种方式拆分,每份自动带表头,按完整记录切分不会把含换行的字段劈开,导出 UTF-8 BOM 不乱码,打包成 zip 下载。全程在浏览器本地完成,文件不上传。

拖入或选择一个 CSV 文件(.csv / .tsv / .txt,≤100MB),点击选择
文件不上传 · 浏览器本地拆分 · 支持 .csv / .tsv / .txt · 单个文件 ≤100MB
拆分参数
拆分方式
按行口径
输出设置

🔒 CSV 在你的浏览器内拆分,未上传任何服务器;工具只读你的原文件,不会修改它。

如何使用CSV 拆分

1

选择 CSV 文件:拖入或点击选择一个 .csv / .tsv / .txt(单个 ≤100MB),工具会读出编码、分隔符、列数和数据行数。

2

确认编码与分隔符:识别不对就在文件卡片上手动切到 GBK/GB18030、UTF-16,或把分隔符换成分号、制表符;没有表头的文件取消勾选「首行为表头」。

3

选「按行数」或「按列值」并设参数:按行数可选每份 N 行(有 1000 到 100 万行的预设)或平均分成 N 份;按列值就选一列,同值的行进同一个文件。参数下方会实时写出将拆成几份、每份多少行。

4

点「开始拆分」:在独立线程里按完整记录切分,可随时取消;完成后显示每个文件的行数、首行预览和警告清单。

5

下载 zip 或单个文件:点「下载全部(zip)」一次拿到全部结果,也可以在清单里逐个下载;改了参数后结果会标为过期,重新拆分即可。

关于CSV 拆分的常见问题

CSV 文件太大打不开,怎么拆分成多个小文件
把文件拖进本页,保持默认的「按行数 · 每份 N 行」,在预设里选一个合适的行数(例如 10,000 或 50,000),点「开始拆分」再「下载全部(zip)」即可。拆出来的每个文件都带表头,可以分别用 Excel、WPS 或导入系统打开。单个文件上限 100MB,文件不上传,在浏览器本地切分。
CSV 怎么按行数拆分,比如每 1 万行一个文件
选「按行数」→「每份 N 行」,点 10,000 预设或直接输入 10000。参数下方会写出「每 10,000 行一份,共 X 份,最后一份 Y 行」,这个预估和实际拆分用的是同一个算法,不会对不上。想让各份行数尽量一样,改选「平均分成 N 份」,各份行数最多差 1 行,多出来的余数从第 1 份开始各分 1 行:例如 10,003 行数据平均分成 4 份,得到 2,501、2,501、2,501、2,500 行。
CSV 能按省份或部门某一列拆成多个文件吗
能。选「按列值」,在下拉里选要按哪一列拆(列名旁带了几个样例值,方便确认),工具会先统计出有多少组、最大一组多少行,再把同值的行放进同一个文件,文件名就是该值,例如「广东.csv」「浙江.csv」。值前后的空格会被忽略后归组,但写进文件的内容保持原样;该列为空的行归入「空值」组。分组超过 1000 个(例如误选了订单号列)时会提示并禁止拆分,不会悄悄截断。
CSV 拆分后每个文件都会带表头吗
默认会。「每份都带表头」是默认勾选的,表头不计入每份的行数,所以每份 1000 行就是 1 行表头加 1000 行数据。取消勾选后只有第 1 份带表头,效果等同于命令行 split -l。如果你的文件本来没有表头,取消「首行为表头」,第一行会被当作普通数据参与拆分,输出也不会凭空加表头。
CSV 超过 104 万行显示不全怎么办
Excel 一张工作表最多 1,048,576 行,CSV 超过这个行数时,多出来的部分在打开时会被直接丢掉,而且不一定有明显提示。用本工具的「100 万(Excel 上限内)」预设,每份 1,000,000 行数据加 1 行表头,刚好留在上限之内,切开后每一份都能在 Excel 里完整打开。
CSV 拆分后用 Excel 打开中文乱码怎么办
本工具输出统一是 UTF-8,并默认带 BOM,Excel、WPS 双击打开中文不会乱码。源文件是 GBK(Windows 记事本里叫 ANSI)也没关系,读入时会自动识别并转成 UTF-8 再输出。如果拆分前文件卡片上就提示疑似乱码,说明编码没认对,手动把编码切到 GBK/GB18030 或 UTF-16 再拆。浏览器只能产出 UTF-8,所以不提供 GBK 输出。
CSV 拆分会上传到服务器吗,数据安全吗
不会上传。文件读进浏览器内存后,在你本机的独立线程(Web Worker)里解码、解析、切分和打包 zip,不经过任何服务器,关掉页面即清空。工具只读你的原文件、不修改它,本地只记住拆分方式、每份行数、输出分隔符这类参数偏好,不记文件名和文件内容。
CSV 能按文件大小(MB)拆分吗
暂不支持按 MB 拆分,也不支持按多列组合值拆分。可以按行数近似:用文件大小除以总行数估出每行大约多少字节,再换算成每份行数。例如 80MB、40 万行的文件,每行约 200 字节,想要每份 10MB 左右就设每份 50,000 行。总行数在选完文件后的文件卡片上就能看到。
手机上能在线拆分 CSV 文件吗
能。本页是纯网页,手机浏览器(含 iOS Safari 和微信内置浏览器)通过「文件」选择 csv 即可拆分,结果清单可以横向滑动,zip 和单个文件都能下载。手机内存比电脑小,几十 MB 的大文件建议在电脑上拆。
CSV 拆分和 split 命令按行切有什么区别
split -l 按物理行切:只有第一份有表头;字段里带换行的记录(比如多行地址)会被从中间劈开,引号失配后整份文件串列;GBK 文件切完用 Excel 打开照样乱码。本工具先按 RFC 4180 规则解析出完整记录再切,每份都带表头,输出统一 UTF-8 BOM。代价是完全空白的行会在解析时被去掉,不会出现在任何一份里。
TSV 和分号分隔的 CSV 也能拆分吗
能。分隔符会在逗号、分号、制表符里自动识别(引号里的分隔符不算),识别错了可以手动选。输出默认沿用源文件的分隔符,也能在「输出设置」里改:选制表符时扩展名自动变成 .tsv,字段里本身含制表符的值会被引号包起来,不会错列。

CSV 拆分为什么不直接用 split 命令或记事本切

CSV 是纯文本,所以「按行切开」看上去用 macOS/Linux 的 split -l 10000 data.csv 或者在记事本里复制粘贴就够了。真正切过就会碰到下面几个坑,这也是在线 CSV 文件拆分工具存在的理由。

split 命令 / 记事本手工切与本工具 CSV 拆分的对比
问题split -l / 记事本按物理行切本工具按记录切
表头只有第 1 份有表头,其余导入时列名丢失默认每份都带表头(可关)
字段内换行(多行地址、备注)一条记录被劈成两半,引号失配后整份串列按完整记录切,多行字段留在同一份
GBK 编码的文件切完仍是 GBK,Excel 打开乱码自动识别 GBK,输出 UTF-8 BOM 不乱码
按某一列分组做不到,要另写脚本选一列即按值拆成多个文件
平均分成 N 份要先数行数再手算份间行数差不超过 1 行

大 CSV 文件按 Excel 行数上限拆分怎么设

Excel 和 WPS 表格的单张工作表上限是 1,048,576 行。CSV 本身没有行数限制,数据库、埋点后台导出几百万行很常见,但用 Excel 打开时超出的部分会被直接舍弃,后面做求和、透视都是错的。这类大 CSV 文件拆分时,选「每份 N 行」里的「100 万(Excel 上限内)」预设:每份 1,000,000 行数据 + 1 行表头,留在上限之内。例如 250 万行的文件会拆成 3 份:100 万、100 万、50 万行。

CSV 按某一列拆分成多个文件后文件名怎么定

CSV 按列拆分时,文件名就是该列的值,例如按「省份」拆出「广东.csv」「浙江.csv」,文件顺序按各值在原文件里第一次出现的先后排,每个文件内部的行保持原来的相对顺序。值里有 / \ : * ? " < > | 这类不能做文件名的字符、撞上 CON 这类系统保留名、或者太长时,文件名会被自动清洗或截短;只差大小写的两个值(Beijing 和 beijing)默认是两组,第二个文件名加「 (2)」,勾选「忽略大小写」就会并成一组。改过名的文件在结果区的警告里会注明,清单里同时列出原始分组值和最终文件名。

CSV 拆分的几种叫法,CSV 分割是一回事吗

CSV 拆分的常见叫法与在本页对应的操作
叫法通常指什么在本页怎么做
CSV 分割 / CSV 拆分成多个文件 / 大 CSV 文件拆分把一个大文件切成几个小文件按行数拆分
CSV 按行数拆分每 N 行一个文件按行数 → 每份 N 行
CSV 平均拆分平均分给 N 个人处理按行数 → 平均分成 N 份
CSV 按列拆分 / CSV 按某一列拆分成多个文件按省份、部门、日期把总表拆成分表按列值 → 选一列
CSV 拆分保留表头每个小文件都要有列名勾选「每份都带表头」(默认)
CSV 拆分不乱码拆完用 Excel 打开中文正常输出 UTF-8 并带 BOM(默认)
TSV 拆分制表符分隔的文件自动识别制表符,输出 .tsv
Split CSV online / CSV splitter英文界面工具的叫法同本页,不用装软件

CSV 文件太大怎么拆分,按行数还是按列值

只是因为文件太大打不开、或者导入系统限制每次多少行,用「每份 N 行」;要把一份名单平均交给几个人,用「平均分成 N 份」;要给每个地区、门店、部门各发一份,用「按列值」。不管哪种方式,在线拆分 CSV 的结果都是「数据行守恒」的:所有份的数据行数加起来等于原文件的数据行数,结果区的「覆盖 X 行数据」就是这个合计。这里的「行」指解析后的完整记录——完全空白的行会被去掉、不计数,而像 ,,, 这种字段全空的行仍算一行、原样保留。