·4分で読めます

MacのCSVからJSONへのコンバーター

スプレッドシートのエクスポートをAPI呼び出しやテストフィクスチャ用の構造化データに変換する必要があるたびに、使い捨てのスクリプトを書くのはやりすぎです。

営業チームの誰かがスプレッドシートをCSVとしてエクスポートし、「システムに読み込んでおいて」と頼んできます。しかしシステムはJSONを期待しています。そこでCSV解析ライブラリを使った簡単なPythonやNodeのスクリプトを書き、列をフィールドにマッピングし、ヘッダー行を処理し、値の中にカンマが含まれていて、単純なカンマ分割ロジックを壊さないことを願います(たいてい引用符付きフィールドの中に隠れていて壊れます)。

これは開発者が何度も何度も解決しているタスクであり、そのたびにわずかに異なる使い捨てのコードを書いています。なぜならCSVはスプレッドシート、データベース、分析ツールからのエクスポート形式として絶えず登場する一方で、最近のほとんどのツールやAPIはJSONを期待しているからです。

CSVの見せかけのシンプルさ

CSVは些細なものに見えます——カンマで分割し、改行で分割すれば完了、と。しかし、仕様に従って引用符で囲まれたカンマを含むフィールドに遭遇すると、単純なパーサーは壊れます。あるいは引用符の中に埋め込まれた改行を含むフィールドがあり、単純な行単位の読み込みでは正しく処理できません。CSVの解析を正しく行うには、実際には引用のルールを尊重する必要があり、だからこそ専用のコンバーターの方が毎回ゼロから書くよりも優れているのです。

CSVを構造化されたJSONに変換

Bellowsには、引用符付きフィールドとヘッダー行を正しく処理し、スプレッドシートのエクスポートをテストフィクスチャやリクエストボディ、スクリプトに貼り付ける準備が整ったJSONオブジェクトの配列に変換するCSVからJSONへのコンバーターが含まれています。

Bellows CSV to JSON converter tool on macOS

スプレッドシートデータをAPIに読み込む

1回限りのデータインポートのためにスクリプトを書いて保守することが割に合わない場合、CSVのエクスポートを直接JSONに変換して、APIテストツールやデータベースのシードファイルに貼り付ければ、はるかに短い時間で作業を終えられます。

実データからテストフィクスチャを作成する

スプレッドシートから本番に近いデータのサンプルをCSVとしてエクスポートし、JSONに変換することは、フィールドを1つずつ手書きすることなく、現実的なテストフィクスチャを生成する手早い方法です。

Mac App StoreでBellowsを入手する

次の記事

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store