HTML 表格转 CSV 转换器 (HTML→CSV)
粘贴包含 HTML <table> 标签的源代码,即可转换为 CSV/TSV。适合将其他网站的表格复制到电子表格中使用。会自动识别 thead 内的表头行,且所有转换处理均在浏览器内完成,不会发送到服务器。
HTML 表格与 CSV 行的对应关系
| HTML 的一行 | <tr><td>name</td><td>age</td><td>city</td></tr> |
|---|---|
| 转换后的 CSV 记法 | name,age,city |
<thead> 内的行,或首行全部由 <th> 组成时,会被识别为表头行;其余每个 <tr> 都会转换为 CSV 的一行数据。
什么是 HTML 表格转 CSV 转换器
HTML 表格转 CSV 转换器只需粘贴网页中 <table> 标签的源代码,就能将其转换为 CSV 或 TSV 数据。在浏览器中选中并复制其他网站的表格时,剪贴板里往往会连同可见文字一起附带 HTML 结构,可以直接把它粘贴到本工具中使用。<thead> 内的行,或首行单元格全部是 <th> 的情况,都会被自动识别为表头行,无需手动指定表头是否存在。
即使单元格中包含 <strong>、<br>、<a> 等装饰性标签,转换时也只会去除标签本身,保留其中的文字内容。分隔符可以在逗号和制表符之间选择,是否在输出中包含表头行也可以自由切换。如果粘贴的 HTML 中包含多个 <table> 标签,只有最先出现的那一个会被转换,其余会被忽略。整个转换过程都在浏览器内的 JavaScript 中完成,粘贴的 HTML 内容不会发送到任何服务器,因此即便是包含内部资料等不便公开的数据,也可以放心使用。
HTML 表格转 CSV 转换器的使用方法
- 粘贴 HTML 源代码 将包含待转换表格的 HTML 源代码粘贴到输入框中。如果手头没有可用的数据,可以点击"示例"按钮加载示例。
- 选择分隔符 如果要导入电子表格,选择逗号;如果需要制表符分隔的文本,则选择制表符。
- 选择是否包含表头行 通过"在输出中包含表头行"的勾选项,可以切换转换结果中是否包含列名所在的那一行。
- 确认转换结果 粘贴后会立即在右侧显示 CSV/TSV 结果,同时显示成功转换的行数。
- 复制或下载结果 点击"复制"按钮可将结果复制到剪贴板,点击"下载"按钮则可直接保存为文件。
用好本工具的小技巧
- 即使没有
<thead>/<tbody>标签,只要首行的单元格全部是<th>,也会自动识别为表头行。 - 单元格中的
<strong>、<br>等装饰标签会被自动去除,只有文本内容会被转换为 CSV。 - 在浏览器中选中并复制其他网站的表格时,剪贴板中往往同时包含 HTML 格式的数据,可以直接粘贴到本工具中进行转换。
- 这与姊妹工具 CSV 转 HTML 表格转换器 方向相反,两者配合使用可以在 CSV 与 HTML 表格之间来回转换。
HTML 表格转 CSV 转换器的使用场景
将其他网站的表格导入电子表格
通过开发者工具复制新闻网站或统计页面上的表格 HTML,直接转换为 Excel 或 Google 表格可以打开和排序的格式。
整理爬虫抓取到的 HTML 片段
当程序抓取到的页面是原始 HTML 时,可以只提取其中的表格部分,转换为便于后续处理和存储的 CSV。
将 CMS 或 Wiki 中的表格结构化
公司 Wiki 或博客文章中手写的 <table> 表格,可以导出为 CSV,从而更方便地进行汇总、筛选和检索。
复用邮件或文档中复制的表格
从 HTML 邮件或 Word 文档中复制的表格通常会在剪贴板中保留标签结构,转换为 CSV 后能更方便地传递给其他工具或表格软件。
与CSV 转 HTML 表格转换器配合往返使用
将本工具与反方向的转换工具搭配使用,可以根据不同的用途需要,在 CSV 与 HTML 表格标签之间自由转换。
HTML 表格与 CSV 相关术语
- thead / tbody
- 用于将 HTML 表格划分为"表头部分"和"主体部分"的标签。只要
<thead>内存在行,本工具就会将其视为表头行。 - th / td
- 表示表格单元格的标签,
<th>表示表头单元格,<td>表示普通数据单元格。没有 thead 的表格中,会检查首行是否全部为<th>来判断是否存在表头。 - CSV(逗号分隔值)
- 一种使用逗号分隔列的纯文本数据格式。当值本身包含逗号、换行符或双引号时,会用双引号将整个值包裹起来以进行转义。
- TSV(制表符分隔值)
- 使用制表符而非逗号来分隔列的格式。当数据本身经常包含逗号时,TSV 通常比 CSV 更不容易造成列边界的混淆。
- HTML 实体
- 例如
&(表示 &)、 (半角空格)这类用于在 HTML 中表示特殊字符的写法。转换时会自动还原为原始字符。 - 去除装饰标签
- 将单元格中包含的
<strong>、<br>、<a>等标签去除,仅保留文本内容的处理过程。链接的 URL 等属性值不会出现在 CSV 结果中。
常见问题
<table> 标签的部分并粘贴进来。<thead> 标签,只要首个 <tr> 的单元格全部是 <th>,也会被当作表头行处理。如果也不满足这一条件,则所有行都会按数据行原样转换。<table> 标签会被转换。如果想转换多个表格,请将各个表格的 HTML 分别粘贴并转换。
闲话 ― 为什么浏览器的"表格复制"会包含 HTML
在浏览器中选中并复制表格时,剪贴板中不仅会保存看得见的文字,背后还会同时保存 HTML 格式的数据。这是因为操作系统的剪贴板支持"多格式":复制源应用会同时写入多种表现形式(纯文本、HTML、富文本等),粘贴目标应用可以选择对自己最方便的格式来接收。
将其他网站的表格直接粘贴到 Excel 或电子表格中时,连格式和链接都能一并还原,正是得益于这一机制。但另一方面,如果粘贴目标是普通的文本编辑器或 CSV 文件,这份背后的 HTML 信息就无法被利用,只能作为纯文本处理,表格的结构信息(哪个单元格属于哪一列)往往因此丢失。
HTML 表格转 CSV 这类工具,正是承担着显式还原这种"容易丢失的结构信息"的角色。它充分利用浏览器表格复制功能自带的 HTML 结构,使数据能够以在电子表格中正确分列的形式被重新利用——这是一个在实际工作中不起眼却确实存在稳定需求的领域。