Parquet を XLSX に変換

ここで Parquet を XLSX に変換できます。無料、アカウント不要です。ファイルを上の枠に落とせば、数秒で結果がダウンロードできる状態になります。 変換はお使いのブラウザーの中で行われるので、ファイルはアップロードされません。Windows でも macOS でも Linux でも、iPhone でも Android でも同じように動き、通信を切っても動き続けます。

  • 処理される場所 ブラウザーの中です。ファイルがアップロードされることはありません。
  • 可逆 何も捨てられません。XLSXはParquetが持っていたものをそのまま保持します。
  • ファイルサイズの上限 1ファイルあたり100MBまで。無料、アカウント不要です。

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

メールで届いた .parquet が開けないという事態

.parquet はデータ基盤の中で使われる標準的な形式であり、Excel の「開く」メニューには対応する項目がありません。Power Query のコネクターで対応できるかどうかは、使っている Excel のバージョンやライセンスによって変わります。

別の形式で出し直してもらうのが本来は一番良い方法ですが、送ってきた相手が別のタイムゾーンにいたり、パイプラインが Parquet しか出力しない設計だったりすると、それも難しいことがあります。自分で変換すれば、何かをインストールする必要もなく、その場で開けるファイルになります。

CSV では失われる型情報が、ここでは保たれる

Parquet は列ごとの型を記録しているデータ形式です。CSV には型がなく、すべての値が一度テキストになり、Excel が取り込み時にあらためて推測し直します。番号が日付に化けたり、コードが数値として解釈されたりするのはこのためです。

ワークブックのセルは型を保ったまま届きます。数値の列は数値セルとして、真偽値の列は真偽値セルとして書き出されるので、合計もフィルターも最初から正しく機能します。

日付は ISO 形式の文字列として届く

タイムスタンプの列は 2024-03-11T09:30:00.000Z のような ISO 8601 形式の文字列として書き出され、テキストのセルに入ります。文字列として並べ替えることはできますが、日付としての計算やピボットテーブルの日付フィルターにはそのままでは使えません。

「データ」タブの「区切り位置」を使い、最後のステップで日付形式を YMD の順に指定すれば、実際の日付として認識させられます。列ごとに数十秒で終わる作業です。タイムゾーンや表示形式は見た目に関わる判断であるため、この変換では自動では行わず、Excel の側で目に見える形で決められるようにしています。

ワークシート一枚あたり百万行強という上限

ワークシートはヘッダー行を含めて 1,048,576 行、16,384 列までしか保持できません。これはスプレッドシート形式そのものの制限であり、どのバージョンの Excel でもこれ以上の行は表示されません。

Parquet はもともとスプレッドシートに収まらない規模のテーブルを扱うための形式なので、この上限を超えることは珍しくありません。超えている場合は、抽出元でフィルターをかけるか集計してから受け取るのが現実的な対処です。

入れ子のデータは、ドット区切りの列に展開される

Parquet が持つリストや構造体の列は、そのままではワークシートの一つのセルに収まりません。このサイトの変換は、そうした入れ子の値を平坦化し、request.method のようなドット区切りの列名に分けて書き出します。

結果として列の数が元の Parquet より増えることがありますが、それぞれのセルは通常のスプレッドシートの値として扱え、フィルターや並べ替えがそのまま機能します。列名がデータパイプライン由来の分かりにくい形になっていることが多いので、レポートとして使うなら先頭行で列名を分かりやすく付け直しておくのが実用的です。

桁の大きい識別子は、丸めずにテキストとして書かれる

Parquet は 64 ビット整数型を持てますが、スプレッドシートが正確に扱える桁数はおよそ十五桁までです。それを超える値は、丸めた数値としてではなく、テキストとしてセルに書き込まれます。

見た目としては他の数値の列と並びが揃わず不自然に映りますが、これは正しい選択です。丸められた注文番号や取引 ID は、一見有効な識別子に見えても実際には別の値になってしまい、追跡できなくなります。左揃えになっている長い数字の列を見つけたら、それはテキストとして扱われているという意味です。

一枚のシートに、Parquet ファイルの名前が付けられる

Parquet ファイルは一つのテーブルと一つのスキーマしか持たないため、ワークブックにはシートが一枚だけ作られます。名前は拡張子を除いたファイル名から取られ、ワークシート名の上限である 31 文字に収まるよう調整されます。

列名はデータ基盤が付けたそのままの名前で届くため、レポートとして人に見せる名前とは違うことがよくあります。元の名前を分かりやすく直すのはワークブック側で行うのが安全です。データチームに問い合わせるときには元の列名が必要になるからです。

データはワークブックにするために送信されるわけではない

Parquet の読み込みも、ワークブックの書き出しも、必要になった時点でこのページに読み込まれるライブラリーが行い、いずれもこのページの中で完結します。ファイルを運ぶ通信は発生しません。

集計もマスキングもされていないままのテーブルであることが多いため、それをアップロードせずに Excel で確認できるという点は、データの取り扱いポリシーの観点からも意味を持ちます。無料枠は 1 ファイルあたり 100 MB までです。

Parquet を XLSX に変換する手順

  1. お手元の Parquet ファイル をこのページに落とすか、押してファイルを選んでください。
  2. 変換先に XLSX を選びます。変換はブラウザーの中で行われ、ファイルはアップロードされません。
  3. できあがった XLSX ファイル をダウンロードします。

Parquet と XLSX——何が変わるか

ParquetとXLSXの比較
ParquetXLSX
正式名称Apache ParquetExcel ブック
拡張子.parquet.xlsx
メディアタイプapplication/vnd.apache.parquetapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
圧縮方式可逆 — 何も捨てない
最初の公開20132007
発行元Apache Software FoundationMicrosoft
仕様ECMA-376
ライセンスオープン標準オープン標準
現在の位置づけ現行現行
ブラウザで開けるか対応なし対応なし
代わりに検討される形式CSV, JSONCSV, ODS

変換先の形式が追加で扱えるもの

XLSX は作業のための形式で、Parquet は完成したものを渡すための形式です。戻ってくるのはページの絵ではなく、編集できる文字です。たいていはそれがこの変換の理由であり、同時にこの変換の限界でもあります。

結果を開く

開くプログラムが重なりません。Parquet はpandas、Apache Spark、DuckDBで、XLSX はMicrosoft Excel、LibreOffice Calc、Google Sheetsで開きます。結果を渡す相手には後者のどれかが要ります。

どちらの形式が何のためのものか

2 つは狙っている用途が違います。Parquet は長期保存とプログラム間のデータ受け渡し、XLSX は編集です。ここは考える価値があります。一方が存在する理由が、そのままもう一方が使いにくい理由になっていることが多いからです。

XLSX は Microsoft の形式で、2007 年から使われています。規定は ECMA-376 です。Microsoft Excel、LibreOffice Calc、Google Sheetsがこの形式を読めます。

Parquet から XLSX:よくある質問

Parquet ファイル はどこかにアップロードされますか。

いいえ。この変換は完全にブラウザーの中で行われるので、ファイルが端末から出ることはありません。ご自分で確かめられます。開発者ツールのネットワークタブを開いて、何か変換してみてください。ページそのものと、このサービスの費用をまかなっている分析・広告のリクエストは見えますが、あなたのファイルを運んでいるリクエストはひとつもありません。

Parquet から XLSX への変換は無料ですか。

はい。アカウントも透かしもなく、消費される 1 日の割り当てもありません。お使いの機械の上で動くので、何度でも戻ってきていただけます。ブラウザーが扱えるのは 100 MB までのファイルで、一度に 100 本です。

Parquet を XLSX に変換すると品質は落ちますか。

いいえ。XLSX は同じ内容を何も捨てずに保持できるので、結果は品質の点で元のファイルと同じです。

XLSX ファイル はそのあと編集できますか。

XLSX は作業のための形式で、Parquet は完成したものを渡すための形式です。戻ってくるのはページの絵ではなく、編集できる文字です。たいていはそれがこの変換の理由であり、同時にこの変換の限界でもあります。

これらのフォーマットについて