CSV 拆分
CSV 拆分,是指把一个大 CSV 文件按行数或按某一列的取值切成多个小 CSV 的操作,常用于文件太大 Excel 打不开、导入系统有行数限制,或把总表按地区、部门分发。本工具可按每 N 行、平均 N 份、某列的值三种方式拆分,每份自动带表头,按完整记录切分不会把含换行的字段劈开,导出 UTF-8 BOM 不乱码,打包成 zip 下载。全程在浏览器本地完成,文件不上传。
🔒 CSV 在你的浏览器内拆分,未上传任何服务器;工具只读你的原文件,不会修改它。
如何使用CSV 拆分
选择 CSV 文件:拖入或点击选择一个 .csv / .tsv / .txt(单个 ≤100MB),工具会读出编码、分隔符、列数和数据行数。
确认编码与分隔符:识别不对就在文件卡片上手动切到 GBK/GB18030、UTF-16,或把分隔符换成分号、制表符;没有表头的文件取消勾选「首行为表头」。
选「按行数」或「按列值」并设参数:按行数可选每份 N 行(有 1000 到 100 万行的预设)或平均分成 N 份;按列值就选一列,同值的行进同一个文件。参数下方会实时写出将拆成几份、每份多少行。
点「开始拆分」:在独立线程里按完整记录切分,可随时取消;完成后显示每个文件的行数、首行预览和警告清单。
下载 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 -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 按行数拆分 | 每 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 行数据」就是这个合计。这里的「行」指解析后的完整记录——完全空白的行会被去掉、不计数,而像 ,,, 这种字段全空的行仍算一行、原样保留。