这个工具的起因非常具体:同一个 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按日期分割指定日期列,按天/月/年拆分为独立文件
4CSV 合并合并多个 CSV,支持三种模式:快速块级拼接 / 删除多余表头 / 每行追加「来源文件」列
5合并多个工作簿将多个 Excel 工作簿合并为一个(按表名或文件名归并所有工作表)
6合并工作表将单个工作簿内的多个工作表纵向合并为一个(可选追加来源列)
7关键字提取筛选包含指定关键字的行,支持多关键字和正则
8工作簿拆分为 CSVExcel 工作簿 → 多个 CSV(每表一个,UTF-8-BOM)
9超宽列拆分超 256 列的工作表拆分为多个 ≤256 列的工作表

通用特性:深浅色主题切换 · 文件拖拽添加 · 可配置输出目录 · 完成后自动打开文件夹 · DPI 自适应

使用方式

直接使用(推荐,无需安装 Python):

  1. 从 Releases 下载单文件 EXE
  2. 双击运行即可

仅支持 Windows 10/11。

从源码运行:

1
2
pip install -r requirements.txt
python src/app_webview.py

打包为 EXE:

1
python build.py

适合谁

  • 经常和各路系统导出的 CSV 打交道、被乱码折磨的人
  • 需要把超大 CSV 拆分处理、或多来源 CSV 合并去重表头的人
  • 要把 Excel 多工作簿/多工作表批量归并或拆出 CSV 的人

欢迎提 Issue 反馈问题:https://github.com/heylumen/niuniu-docs-tool/issues