Sublime Text 批量处理 CSV 的核心是文本编辑逻辑而非表格语义,需先设语法绑定与编码(如 UTF-8 with BOM)、调 large_file_threshold 应对大文件、用 Alt+拖选列编辑替代 Ctrl+D、配合正则预处理(跳过引号内逗号)和 AlignTab 对齐,字段不规范时应切换 pandas 或 csvkit。

Sublime Text 能批量处理 CSV,但必须绕开“它像 Excel”的错觉——它本质是文本编辑器,所有操作都基于字符位置或正则匹配,不是语义解析。硬套表格逻辑,90% 的失败都源于此。
CSV 打不开或中文乱码?先改编码和语法绑定
Sublime 默认把 .csv 当纯文本,右下角显示 Plain Text 就说明语法没生效;中文变问号、字段粘连,基本是编码不匹配。
- 点击右下角语言标识(如
Plain Text)→ 选Open all with current extension as…→CSV,之后所有.csv文件自动启用基础高亮 - 乱码时别重装,点右下角当前编码(如
UTF-8)→Reopen with Encoding→ 依次试UTF-8 with BOM、GBK、Windows-1252 - 确认正确后,再点右下角编码名 →
Save with Encoding,固化编码,避免下次又乱 - 大文件(>10MB)卡死?在
Preferences → Settings里加一行:"large_file_threshold": 10485760,跳过语法高亮保响应
批量改某列内容?用 Alt+拖选列编辑,不是 Ctrl+D
Ctrl+D 是按字面匹配,容易误中注释、字符串或字段子串;真正可控的列级批量修改,靠的是矩形光标定位——也就是列编辑模式。
使用 qbo-mileage CLI 及用户凭证,从 Airtable、Outlook 或 Google Calendar 记录生成 QuickBooks Online 里程 CSV 文件。
- 按住
Alt(Win/Linux)或Option+Shift(macOS),鼠标垂直拖选目标列区域,松开即生成多光标 - 输入内容,所有行该列位置同步更新;按
Delete或Backspace会删掉该列所有字符(含空格,可能破坏对齐) - 必须用等宽字体(如
Fira Code、Consolas),且关闭View → Word Wrap,否则光标偏移 - 字段含中文?列编辑会错位(中文字宽 ≠ ASCII),此时应先用正则把中文字段统一替换为英文占位符,操作完再换回
对齐成“伪表格”看数据?AlignTab + 正则预处理是标配
AlignTab 不解析 CSV 逻辑,只按指定字符(如 ,)插入空格拉齐视觉列。字段带引号、逗号或换行时,直接对齐必错。
- 先用正则跳过引号内逗号:
Ctrl+H→ 开启正则 → 查找,(?=(?:[^"]*"[^"]*")*[^"]*$)→ 替换为,(逗号+空格) - 全文件替换后,选中内容 →
Ctrl+Shift+P→ 输入AlignTab: Align On→ 回车 → 输入,(注意有空格) - 装完
AlignTab没命令?必须完全退出 Sublime 再重开;触发时若输入法是中文,会把,当全角逗号,导致失效 - 对齐后列宽爆炸?开启
View → Word Wrap或调小字体;导出 Markdown 表格时,在对齐结果上下手动加|和---行即可
字段含逗号但没引号?别硬正则,该切工具了
像 Smith, John,25 这种格式,逗号未被双引号包裹,Sublime 无法判断哪一个是分隔符——这不是你正则写得不够好,是 CSV 标准本身被破坏了。
- 这种数据用任何文本编辑器都无法可靠修复,
Advanced CSV的Reformat CSV命令也会整列偏移 - 真实场景中,>1MB 或含嵌套换行/引号转义(如
a""b)的 CSV,应直接切到pandas.read_csv()或命令行csvkit - 临时救急可试:用正则把所有非引号包裹的逗号替换成制表符(
\t),再用View → Syntax → Plain Text+Convert Indent to Tabs,配合AlignTab对齐 tab 列 - VS Code 的 CSV 预览(需开启
"csv-preview.enabled": true)能真实渲染结构,适合校验;核对完复制回 Sublime 做文本微调
最常被忽略的一点:Sublime 对 CSV 的所有“对齐”“高亮”“格式化”,都不改变原始字段语义。一个未闭合引号、一个混入的 \r\n、甚至一个零宽空格(\u200b),都足以让整列视觉错位——检查这些不可见字符,比调插件设置更关键。

















