データを変換

データ形式は、ほかのどんなものより互いによく変換できます。どれも同じことを言っているからです。行とフィールド、あるいはオブジェクトとキー。違いは、データ*について*どれだけ保持できるかにあり、雑な変換が黙って壊すのはまさにそこです。

一度に100ファイルまで。フォーマットが混ざっていても構いません。

対応しているdataフォーマット

このカテゴリーには10フォーマット、71通りの変換があります。うち70通りは、ファイルが端末から出ません。

  • JSONJSON

    ウェブのデータ形式。入れ子の構造を持て、どのプログラミング言語からも読めます。

  • NDJSONNDJSON

    1 行に 1 つの JSON オブジェクト。ログのパイプラインやデータ書き出しが出力する形です。

  • CSVCSV

    プレーンテキストで書かれた表。どの表計算ソフトも、どのデータベースも、どの分析ツールも読めます。ひとつ注意:日本語版 Excel はダブルクリックで開いた .csv を CP932 として読むので、UTF-8 のこのファイルは文字化けします。開くのではなく「データ」タブから読み込んでください。

  • TSVTSV

    CSV と同じ考え方で、区切りがタブ。だからフィールドの中のカンマという問題がそもそも起きません。

  • ParquetParquet

    大量のデータのための列指向の保存形式。CSV よりずっと小さく、ずっと速く問い合わせられます。

  • XMLXML

    JSON の、冗長な先祖。企業間や行政のデータ交換は今もこれが背骨です。

  • YAMLYAML

    インデントで構造を作る設定ファイルの形式。読みやすく、そして空白に容赦がありません。

  • TOMLTOML

    読みやすさを保ちつつ、YAML のインデントという落とし穴を受け継がなかった設定ファイルの形式です。

  • INIINI

    セクションとキー・値の組。今も日常的に使われる、いちばん古い設定ファイルの形式です。

  • SQLSQL

    表を INSERT 文に直したもので、そのままデータベースに流し込めます。

データを変換ファイル向けのツール

  • ダウンロードが欠けもせず差し替えられもせずに届いたかを、配布元のページに載っているチェックサムと突き合わせて確かめる場面のために。

実際に何かが失われる場所

CSV は型を持ちません。0 で始まる郵便番号、長い識別番号、日付——どれも、誰かが別のことを決めないかぎり文字列です。JSON や Parquet へ向かうときにはそれを決めなければならず、決め方を間違えると「01234」は数値の 1234 になります。

逆向きでは、入れ子の JSON は平らな表に、平らにしないかぎり収まりません。そして平らにするのは、正解が複数ある判断です。だからこの分野のページは、ただ動くだけでなく、何をしているかを伝えます。

文字コード。ここでは脚注ではありません

日本語版 Excel は、ダブルクリックで開いた .csv を CP932 として読みます。このサイトが書き出す CSV は UTF-8 なので、そのまま開くと列がまるごと文字化けします。ファイルが壊れているのではありません。読み方が違うだけです。Excel の「データ」タブから文字コードを指定して読み込めば、そのまま正しく開きます。

区切り文字のほうは、日本ではあまり問題になりません。Windows の一覧区切りがカンマだからです。ヨーロッパのシステムから来たセミコロン区切りの CSV だけが例外で、変換は区切り文字を決め打ちせずに判別し、ファイルが紛らわしい場合はご自分で指定できるようにしています。表が国境を越えるとき、いちばん狂うのがここです。

データを変換:よくある質問

データはアップロードされますか。

いいえ。データ変換はすべてブラウザーの中で行われます。表が顧客名簿や社内の書き出しであるときには、これが効いてきます。

CSV を開くと文字化けするのはなぜですか。

日本語版 Excel がダブルクリックで開いた .csv を CP932 として読み、このファイルが UTF-8 だからです。ファイルは壊れていません。「データ」タブから「テキストまたは CSV から」を選び、文字コードに UTF-8 を指定して読み込めば、そのまま正しく開きます。

Parquet は CSV よりどのくらい小さくなりますか。

かなり小さく、しばしば何分の 1 かになります。列ごとに保持し、それぞれの列に合った圧縮をかけるからです。型も保持しますし、それは CSV にできないことです。

他に変換できるもの