表格轉 Avro Schema

貼上表格或拖入 CSV / Excel 檔案,把輸出格式選成 Avro,把生成的結構存成 .avsc 檔案放在資料旁邊。每一欄成為一個欄位,記錄名稱是 Sheet1。

型別依欄推斷:數字欄是 double,其餘是 string;所有欄位都可為 null(型別裡帶 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 表格:一行一筆資料、雙直線分欄、表頭自動加粗。