CSV 选列与重排

CSV 列太多?选列、拖动排序、按列值过滤后导出新表

关于CSV 选列与重排

CSV 选列与重排解决的是「这张表 40 列,我只要其中 6 列,而且顺序要按我的来」。它不做格式转换,不碰 JSON、不碰 Excel 公式,只做三件事:挑列、排顺序、按某列的值筛行,然后原样导出一份新的 CSV。解析用的是自写的引号状态机,字段里带逗号、带换行、带双写引号都不会把列拆错位。

使用步骤

  1. 从 Excel 或文本编辑器复制整块表格,粘进输入框
  2. 分隔符先留「自动识别」;如果粘进来列全挤在一起,按实际用的改成制表符或分号
  3. 表单下方会出现列名标签:点一下切换是否保留,拖动可以调整先后顺序;也可以直接在「保留的列」里写 3, 姓名, 1
  4. 要筛行就填「按哪一列过滤」和「包含这段文字」,这是包含匹配,不是正则
  5. 点「导出 CSV」,结果区先给前几行预览,下载下来的是完整结果

常见错误

用 split(分隔符) 解析必然错位

只要有一格是「"张三, 备用"」这种引号里带逗号的写法,按逗号切出来的列数就比表头多,那一行之后的所有列全部错位。必须按引号状态机走:引号内的逗号是内容,不是分隔符。

空字段不是缺字段

a,,c 是三个字段,中间那个值是空字符串。手写脚本常把连续分隔符当成「重复分隔符」跳过,于是三列被压成两列,后面整行左移,看起来像数据莫名错了一格。

过滤当成了正则

过滤只做「包含这段文字」。填 南京 能命中「南京市」,填 .*南京.* 什么也匹配不到——这里不解释正则,避免反斜杠和特殊字符在不该生效的地方生效。

常见问题

列名里本身带逗号,「保留的列」怎么写?

用序号更稳:先看预览表头,要第 5 列就写 5。列名和序号可以混着写,例如「3, 姓名, 1」,输出顺序就按你写的先后。

为什么粘进来只解析出 1 列?

分隔符和实际内容不一致。工具会检查内容里是否出现了别的候选分隔符,并提示改成哪一个;改完列名标签会立刻重新出现。

导出的文件用 Excel 打开中文乱码?

导出是 UTF-8 编码。老版本 Excel 双击 CSV 时按系统本地编码解析,中文就乱了。改用「数据 → 从文本/CSV」导入并指定 UTF-8,或者用新版 Excel 打开。

按列名选还是按序号选?

两种都支持。按列名可读性好、抗列序变化;按序号在列名重复或含特殊字符时更可靠。列名里带逗号时要用引号包起来,否则会被当成分隔符——这也是「只解析出一列」的常见原因。

能重排列顺序后导出吗?

能。选好的列按你填写的顺序输出,所以同一份操作既做了筛选也做了重排。导出仍由浏览器生成并下载,文件不经过服务器,原始 CSV 不会被留存。

来源:内置实现(自写 CSV 引号状态机) · License: MIT · 分类:数据

相关阅读

← 返回 ToolHub 全部工具

✦ OPEN SOURCE TOOLS ✦

安全、快捷、开源工具及资源

无需安装、无需注册、无需命令行 —— 挑一个工具,填参数,出结果。

99 个工具 · 50 条资源 · 文件拖进来、内容粘进来都能用 · 无需注册
运行方式排序共 99 个
🔒 为什么本地执行更放心这一条是我们和多数工具站的根本区别
数据不出设备图片、Token、表格都在你的浏览器内处理,服务端不接触你的输入
没有账号体系不注册、不收邮箱、不做用户画像,收藏与记录只存在本机
可离线使用安装为桌面/手机应用后,断网也能运行全部本地工具