表格转换(CSV / TSV / Markdown / HTML / JSON)
文本所有处理都在浏览器本地完成,数据不上传服务器
输入
把文件拖到这里可直接载入
输出
把一份分隔数据转成另一种表格写法:从 Excel 或数据库导出的 CSV、终端里的制表符数据、文档里的 Markdown 表格,贴进来就能换成 Markdown 表格、ASCII 边框表、HTML table、JSON 数组或 CSV。分隔符自动识别(制表符优先),也可以手动指定。引号按 RFC 4180 处理,所以「Smith, John」这种带逗号的字段不会被拆成两列。列宽按显示宽度计算,中文列不会因为「一个汉字算两个字符」而错位。表格没有表头时勾一下「第一行是数据」,第一行就不会被当成列名吃掉。
功能
- 五种输出:Markdown 表格、ASCII 边框表、HTML table、JSON 数组、CSV
- ASCII 输出可选「对齐(带边框)」或「紧凑(无边框,只用列间距对齐)」两种形态
- 自动识别分隔符:制表符、逗号、竖线、空白,也可手动指定
- CSV 引号与 "" 转义按 RFC 4180 处理,字段里的逗号不会拆错
- 第一行可以按数据读(无表头表格),不会把它误当列名吃掉
- Markdown 表格可以直接粘回来,分隔行会被自动跳过
- 列宽按显示宽度对齐,中文列不会错位
- 列数不齐时补齐到最宽的一行
- HTML 输出转义 & < > ",粘进页面是安全的
- JSON 输出保留前导零(007 仍是字符串,不会被当成 7)
使用方法
- 把 CSV、TSV 或 Markdown 表格粘进输入框,默认第一行是表头
- 选择输出格式,结果实时出现
- 表格本身没有表头时,勾上「第一行是数据」
- 分隔符识别不对时,手动指定输入分隔符
- 复制结果。JSON 与 HTML 输出会自动语法着色
常见问题
- 为什么 JSON 输出里数字带引号?
- 因为表格里的每一格都是文本,而某些「数字」的文本形状必须保留 —— 例如工号 007 一旦被当成数字就会变成 7,邮政编码与身份证号也有同样的问题。所以值一律按字符串输出,需要数字时在代码里转换更安全。
- 从 Excel 或 Google 表格复制出来的是什么分隔符?
- 制表符。所以自动识别把制表符排在第一位:从表格软件复制的内容里,逗号几乎必然出现在数据中(地址、金额里的千分位),而制表符不会。
- 表头有两列同名怎么办?
- Markdown、ASCII 与 HTML 输出都能表达同名的两列,照常输出;只有 JSON 不行 —— 对象里不允许同名的两个键,悄悄丢掉一列会让数据看起来完好但已经少了一列,所以这种情况会明确报错,让你先改掉重复的列名。
- 我的表格没有表头,第一行就是数据怎么办?
- 勾上「第一行是数据(不是表头)」。不勾的话第一行会被当成列名从数据里拿走 —— 少一行数据,而「列名」看起来还挺像那么回事,很难发现。各格式的处理不一样:CSV 直接不输出表头行,JSON 输出数组的数组(没有列名就没有键,编一个「列1」等于往你的数据里塞东西),ASCII 边框表与 HTML 省掉表头那一行,Markdown 因为语法强制要求表头行,只能留一排空表头。
- 数据会上传吗?
- 不会。转换完全在浏览器里完成,页面不发送任何请求 —— 表格数据里常常是客户名单或内部报表,不会离开这台设备。
- 「紧凑」形态有什么用?
- 用来把表贴到没有等宽表格美化的地方:代码注释、纯文本文件、终端里的日志说明。那些地方 `+---+` 的边框反而碍事,而两格列间距已经足够对齐。两种形态用的是同一个列宽算法(都按显示宽度),所以中文在哪种形态下都不会错位。
相关工具
Markdown 预览
文本左栏写 Markdown、右栏实时渲染,标题自动带锚点与目录,代码块按语言着色并可一键复制;粘进来的 HTML 只当文本显示,内容不上传。
文本清洗
文本清洗从日志或表格里复制出来的一列内容:去重行、排序、去空行、去首尾空白、去行号、合并多空格,规则逐条开关。粘贴的内容只在本机处理。
字数统计
文本中英混排的文本到底有多长?中文按字、英文按词分开统计,给出字符数、行数、字节数、阅读与朗读时长,以及会被切成几条短信。全部在本机完成。
文本对比
文本把两份文本逐行对比,高亮标出新增、删除与未改动的行,改动按最小差异对齐,而不是整段标成变了。全部在浏览器本地完成,内容不上传。
命名风格转换
文本在十四种命名风格之间转换标识符,拆词时认得 fooBarBaz 与 FOO_BAR 这类混写,连续大写也会按词拆开。全部在浏览器本地完成,不上传。
简繁转换
文本在简体与繁体之间互转中文,常用词整词替换,其余字取最常见写法,因此个别字词仍需人工核对。全部在浏览器本地完成,不上传。