工具介绍
网页经常把数据放在 HTML 的 <table> 元素里——价格页面、统计页面、抓取下来的列表——但这种代码不能直接在代码里或表格软件中使用。这个工具会解析粘贴的 <table> 代码,读取标题行(来自 <thead>/<th>,如果没有 <thead> 就用第一行 <tr>),把后面每一行的单元格对应到这些标题上,输出 JSON 对象数组或 CSV 文件。
它也支持反向操作:粘贴一个 JSON 对象数组或 CSV 文本,工具会生成结构规范的 HTML 表格,包含存放列标题的 <thead> 和存放数据行的 <tbody>,可以直接粘贴到网页或 CMS 里。
全程使用浏览器内置的 DOMParser 完成——不会有任何 HTML 被发送到服务器,因此可以放心处理包含内部或敏感数据的粘贴内容。
来源:表格结构遵循 WHATWG HTML Living Standard 中 table 元素的定义。
为什么使用它?
- 双向转换——HTML 表格转 JSON、HTML 表格转 CSV,以及 JSON/CSV 反向转换成干净的 HTML 表格代码。
- 自动识别标题行——支持 <thead>/<th> 标记,也支持没有 <thead> 时把第一行当标题行。
- 不需要先粘贴到表格软件里——直接从表格代码转换成结构化数据。
- 生成的 HTML 输出经过正确转义,数据里的 < 和 & 等特殊字符不会破坏表格结构。
- 100% 本地运行——你粘贴的 HTML(可能来自内部页面或后台管理系统)不会离开浏览器。
使用方法
- 转换 HTML 表格:把 <table>...</table> 代码粘贴到第一个输入框,点击"转换为 JSON"或"转换为 CSV"。
- 查看输出结果,复制它或点击下载链接保存文件。
- 生成 HTML 表格:把 JSON 数组或 CSV 文本粘贴到第二个输入框。
- 点击"转换为 HTML 表格",把生成的代码复制到你的页面或 CMS 里。
示例
输入
<table><tr><th>name</th><th>age</th></tr><tr><td>Alice</td><td>30</td></tr></table>输出
[{"name":"Alice","age":"30"}]表格第一行的单元格成为对象的键名,后面每一行成为数组中的一个元素,值统一按文本读取。
实用建议
- 从网页中的表格提取数据:查看页面源代码或检查元素,复制 <table>...</table> 代码粘贴到这里,不用手动重新录入数据。
- 把 API 返回发布成网站或 CMS 上可读的表格:把 JSON 数组粘贴到第二个输入框,把生成的 HTML 直接复制到页面的富文本或 HTML 模块里。
- 如果表格是用 <div> 或 CSS 网格布局做的而不是真正的 <table> 标签,这个工具无法解析——源页面需要使用真实的 HTML 表格标签。
为什么标题行识别很重要
一个没有明确标题行的表格是有歧义的——下游的任何工具都需要先知道哪一行定义了列名,才能把剩下的行转换成结构化记录。这个工具用浏览器和大多数抓取工具通用的方式解决这个歧义:先查找显式的 <thead> 部分,只有在没有 <thead> 时才退回到把第一个可见行当作标题行。这让转换结果对手写或抓取来的、跳过了语义化标签的表格代码也保持可预测。
常见问题
没有 <thead> 的表格也能处理吗?
可以。如果没有 <thead>,工具会把表格里的第一个 <tr> 当作标题行。
某一行的单元格比标题行少怎么办?
缺失的单元格在 JSON 输出里会是空字符串,在 CSV 里会留空,行结构不会被破坏,也不会报错。
单元格里嵌套的标签(比如 <b> 或 <a>)会保留吗?
不会——只提取每个单元格的可见文本内容。行内格式、链接以及其他嵌套标记都会被去掉,只保留纯文本。
粘贴的 HTML 会被发送到别处吗?
不会。解析完全通过浏览器内置的 DOMParser 在本地完成,不会上传到服务器。
可以把 JSON 数组通过这个工具再转回 HTML 表格吗?
可以——把 JSON 数组(或 CSV)粘贴到第二个输入框,点击"转换为 HTML 表格",就能得到有效、正确转义的 <table> 代码,键名会成为列标题。