牛牛文档工具:解决 CSV 在 Excel 打开乱码的 9 合 1 文档处理工具
这个工具的起因非常具体:同一个 CSV 文件,在 WPS 里打开一切正常,扔进 Excel 就是一屏乱码。
根因是编码——Excel 只认带 BOM 的 UTF-8(或本地 ANSI 编码),而很多系统导出的 CSV 是不带 BOM 的 UTF-8。每次手动用记事本转码太折腾,于是写了个工具一键解决,顺手把它长成了 9 合 1 的本地文档处理套件。
仓库地址:https://github.com/heylumen/niuniu-docs-tool

技术方案
技术栈:Python 3.13 + pywebview + WebView2,PyInstaller 打包为单文件 EXE。
- 界面是 HTML/CSS/JS(WebView 渲染层),业务逻辑是 Python(
core/分层:编码检测、转换、分割、合并、提取、工作表操作各自独立模块) - 依赖 EdgeWebView2 运行时(Win10/11 通常已内置),无需安装 Python
- 85 项单元测试 + 提交前 11 项静态审查门禁,版本号唯一事实来源(VERSION 文件)
九大功能
| # | 功能 | 说明 |
|---|---|---|
| 1 | 编码转换 | 自动检测 CSV 编码(BOM / UTF-8 / GBK 系列),输出带 BOM 的 UTF-8,Excel 打开不乱码 |
| 2 | 按行数分割 | 把大 CSV 按指定行数拆成多个小文件,每片含表头 |
| 3 | 按日期分割 | 指定日期列,按天/月/年拆分为独立文件 |
| 4 | CSV 合并 | 合并多个 CSV,支持三种模式:快速块级拼接 / 删除多余表头 / 每行追加「来源文件」列 |
| 5 | 合并多个工作簿 | 将多个 Excel 工作簿合并为一个(按表名或文件名归并所有工作表) |
| 6 | 合并工作表 | 将单个工作簿内的多个工作表纵向合并为一个(可选追加来源列) |
| 7 | 关键字提取 | 筛选包含指定关键字的行,支持多关键字和正则 |
| 8 | 工作簿拆分为 CSV | Excel 工作簿 → 多个 CSV(每表一个,UTF-8-BOM) |
| 9 | 超宽列拆分 | 超 256 列的工作表拆分为多个 ≤256 列的工作表 |
通用特性:深浅色主题切换 · 文件拖拽添加 · 可配置输出目录 · 完成后自动打开文件夹 · DPI 自适应
使用方式
直接使用(推荐,无需安装 Python):
- 从 Releases 下载单文件 EXE
- 双击运行即可
仅支持 Windows 10/11。
从源码运行:
1 | pip install -r requirements.txt |
打包为 EXE:
1 | python build.py |
适合谁
- 经常和各路系统导出的 CSV 打交道、被乱码折磨的人
- 需要把超大 CSV 拆分处理、或多来源 CSV 合并去重表头的人
- 要把 Excel 多工作簿/多工作表批量归并或拆出 CSV 的人
欢迎提 Issue 反馈问题:https://github.com/heylumen/niuniu-docs-tool/issues
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 番茄酱的blog!
评论







