CSV 表格语法高亮与预览——v2.11 新增,每列独立颜色渲染
CSV 为什么在标记格式编辑器里有位置
CSV(Comma-Separated Values)是数据交换的最基础格式——Excel、数据库导出、各种数据采集脚本的输出几乎都用它。但传统 CSV 文件 没有语法高亮:
- 不知道第几列是什么数据
- 看不到哪列是数字、哪列是日期、哪列是文本
- 列数多的时候(几十列)肉眼很难对齐
Markor v2.11 解决了这个问题——给 CSV 文件做了 按列独立颜色的语法高亮。

Markor 对 CSV 的四项能力
v2.11 为 CSV 格式新增了四件事:
1. 语法高亮——每列独立颜色
| 列 | 颜色 | 说明 |
|---|---|---|
| 第 1 列 | 颜色 A | 统一 |
| 第 2 列 | 颜色 B | 统一 |
| 第 3 列 | 颜色 C | 统一 |
| ... | ... | 循环使用预设色板 |
所以打开一个 30 列的 CSV,编辑器里会看到 30 种不同颜色交替出现——每一列的数据是同一种颜色。这在几十列的大 CSV 里一眼就能看出哪些列是连续区域、哪些列混进了空值或错位值。
2. 预览模式——HTML 表格渲染
点切换预览模式后,WebView 把 CSV 渲染成标准 HTML 表格:
- 第一行自动识别为 表头
- 支持长表格滚动
- Markdown 单元格内的 Markdown 语法也会被渲染(这是 CSV 支持里的一个小彩蛋)
- 支持导出 PDF
3. 自动格式识别
Markor 能识别 CSV 文件的方式:
- 扩展名
.csv→ 自动应用 CSV 语法高亮 - 扩展名
.txt+ 检测到标准 CSV 结构(逗号分隔、第一行为表头)→ 可能会提示切换格式 - 手动选择格式:打开文件后从底部操作栏的格式选择器里切到 CSV
4. 和 Markdown 的关系
CSV 和 Markdown 表格 可以无缝互转:
- Markor 里把 CSV 内容复制粘贴到 Markdown 表格 → 保留所有数据
- 把 Markdown 表格内容复制粘贴到 CSV → 自动按逗号分隔
CSV 编辑器模式下的操作
打开 CSV 文件后,Markor 提供了以下快速操作:
- 列选择器:按列批量编辑(比如给整列数字加引号)
- 行选择器:按行批量删除或标记
- 分隔符切换:默认逗号,也支持分号、制表符(TSV)等
- 编码检测:自动识别 UTF-8 / GBK / Latin-1 编码
分隔符配置
有些 CSV 文件不用逗号,而用分号(欧洲 Excel 默认)或制表符(TSV)。Markor 可以在 Settings → Format → CSV 里配置:
- 字段分隔符(逗号 / 分号 / 制表符 / 自定义)
- 引号字符(默认双引号)
- 转义字符(默认双引号)
CSV 预览 + PDF 导出
预览模式里点分享按钮,Markor 会:
- 把 CSV 渲染成 HTML 表格
- 生成 PDF(走 Android 系统打印服务 + PDF 生成器)
- PDF 里保留表头行、列对齐、颜色区分
这对需要把数据表格分享给非技术人员的场景(比如给客户发数据清单 PDF)特别有用——不用在手机上装 Excel、WPS 之类的重型 App。
CSV 常见坑
| 问题 | 原因 | Markor 里怎么看出来 |
|---|---|---|
| 某行列数和表头不一致 | 某处多了或少了一个逗号 | 语法高亮颜色在那列开始错位 |
| 单元格里有逗号没有引号包裹 | A,B,C,D 里的 B,C 会被拆成两列 | 预览模式表格错位 |
| 用了分号但 Markor 按逗号解析 | 分隔符不匹配 | 整行变成一列 |
| 文件编码是 GBK 但按 UTF-8 解析 | 中文乱码 | 编辑器里看到 锟斤拷 之类 |
遇到这些问题时,先看编辑器模式下的 列颜色分布——如果某几行开始颜色突然乱了,说明那几行列数不对。
CSV 和同步客户端配合
CSV 文件本质是纯文本,和 Markdown、todo.txt 一样:
- Syncthing / Dropbox / Nextcloud 同步无压力
- 桌面端 Excel / LibreOffice 直接打开
- pandas 脚本
pd.read_csv()直接读 - grep 可以精确搜索某列(配合
cut -d',' -f3 file.csv取第三列)