表格转 Avro Schema

粘贴表格或拖入 CSV / Excel 文件,把输出格式选成 Avro,把生成的结构存成 .avsc 文件放在数据旁边。每一列成为一个字段,记录名是 Sheet1。

类型按列推断:数字列是 double,其余是 string;所有字段都可空(类型里带 null,默认值也是 null),所以有空单元格的行照样合法。字段名只能用 ASCII 字母、数字与下划线,写不了的列名(中文、空格、标点)会写成 column_2,原列名保留在该字段的 doc 里。

表格转文本

把表格变成可以直接粘走的文本: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.复制或下载。无法变成有效联系人 / 日程的行会被跳过,而不是写出一条残缺记录。

常见问题

数据本身在哪里?
这份产物只是结构(schema):Avro 的数据放在另一个文件里,或者用把结构嵌进去的容器文件。需要把行导成 JSON 的话,用 JSON 格式再导出同一张表,两者一起交给写入方即可。
为什么有些列名变了?
Avro 的字段名只能用字母、数字与下划线,并且不能以数字开头,其余字符会被替换。原始列名仍然保留在那个字段的 doc 属性里,信息不会丢。

相关工具

表格转 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 表格转成带框线的纯文本表,适合日志、代码注释与纯文本文档;中日韩字符按两格宽对齐。

表格转 PHP 数组

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

表格转 Ruby 数组

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

表格转 AsciiDoc

在浏览器里把 CSV 或 Excel 表格转成 AsciiDoc 表格:表头自动带上 header 选项,单元格里的竖线会被转义。

表格转 Trac Wiki

在浏览器里把 CSV 或 Excel 表格转成 Trac wiki 表格:一行一条数据、双竖线分列、表头自动加粗。