表格转 PHP 数组

粘贴表格或拖入 CSV / Excel 文件,把输出格式选成 PHP,再把 $data = [[…]] 数组复制进项目。第一行是表头,其余每行是一个嵌套数组,数字写成数字,可以直接遍历或参与计算。

转义按 PHP 单引号字符串的规则来:反斜杠与单引号会被转义,格子里的换行写成 \n。空格子写成 null 而不是空串,「缺值」与「空值」分得开。

表格转文本

把表格变成可以直接粘走的文本:Markdown / HTML / TSV / SQL / JSON / XML / YAML / LaTeX / INI / TOML / JSON Lines / ASCII 框表。文件不上传。

数据不会离开这个浏览器

文件在你自己的设备上解析、预览和画图,一个字节都不会上传(连样例都不传)。关掉页面,数据就没了。

也可以直接粘贴表格文本

怎么用

  1. 1.导入表格(Excel / CSV / TSV / JSON,或直接粘贴),选输出格式:Markdown、HTML、SQL INSERT、JSON、XML、YAML、LaTeX、vCard、iCal、pandas 等。
  2. 2.输出 SQL 时填表名;输出 vCard / iCal 时指定哪一列对应哪个字段——没指定的字段直接不写。
  3. 3.点「生成」,在右侧看结果。
  4. 4.复制或下载。无法变成有效联系人 / 日程的行会被跳过,而不是写出一条残缺记录。

常见问题

为什么输出是嵌套数组,而不是用列名当键的记录?
嵌套数组能保住列顺序,表头里有空格或重名列时也不会出错。想要关联数组,用 array_combine() 把第一行与其余各行组合一下即可。
数字与空格子会变成字符串吗?
数字保持数字、不加引号,可以直接求和与比较;空格子写成 null,文本列加引号并转义;日期、带前导零的编号这类「看起来像数字但必须当文本」的列也会加引号。

相关工具

表格转 SQL INSERT 语句

在浏览器里把 CSV / Excel 表格转成 SQL INSERT 语句:表头变成列名、引号正确转义、空白值写成 NULL。

CSV 转 Markdown 表格

在浏览器里把 CSV / Excel / JSON 表格转成 Markdown 表格,直接粘进 README、Notion 或 PR。竖线与换行都会转义。

CSV 转 XML

在浏览器里把 CSV / Excel / JSON 表格转成结构合法的 XML:列名当元素名、特殊字符转义、空格子保留为空元素。

CSV 转 YAML

把 CSV / Excel / JSON 表格转成干净的 YAML 列表;会被解析成数字、布尔或 null 的值自动加引号,避免重新读取时类型变了。

CSV 转 LaTeX 表格

把 CSV / Excel 表格转成可以直接粘贴的 LaTeX tabular 环境,& % $ # _ 、花括号与反斜杠都会转义。

CSV 转 JSON Lines(JSONL)

把 CSV / Excel 表格转成 JSON Lines:一行一个 JSON 对象,直接喂给 jq、日志管道与批量导入。

CSV 转 INI

把 CSV / Excel 表格转成 INI 分节:每行一个编号小节,里面是 key=value,适合老式配置文件与导入器。

CSV 转 TOML

把 CSV / Excel 表格转成 TOML 的数组表([[row]]):数字保持数字、空格子写成空串、非拉丁键自动加引号。

CSV 转 ASCII 表格

把 CSV / Excel 表格转成带框线的纯文本表,适合日志、代码注释与纯文本文档;中日韩字符按两格宽对齐。

表格转 Ruby 数组

在浏览器里把 CSV 或 Excel 表格转成 Ruby 数组:表头成为第一行,数字保持数字,空格子写成 nil,单引号自动转义。