PythonでJSONをCSVに変換する方法
画像クレジット: oatawa / iStock / GettyImages
あなたは変換することができます Pythonプログラミング言語でのJSONからCSVへ 言語に付属する組み込みライブラリを使用します。 JSONオブジェクトをループして、そのキーと値をコンマ区切りの値ファイルの行として出力できます。 すべてのJSONファイルを単一のCSVとして簡単に表現できるわけではないため、形式によっては、複数のCSVファイルを使用してすべてのデータを便利な方法で表現する必要がある場合があります。
JSONとCSVを理解する
JSONファイルとCSVファイルは、デジタルデータを表す2つの一般的な方法です。 JSONは JavaScriptオブジェクト表記、これは、データを値へのキーのネストされたマッピングおよびデータのリストとして表す方法です。 これは、JavaScriptプログラミング言語でデータがどのように表現されるかに触発されていますが、Pythonを含む多くの最新のプログラミング言語には、JSONデータを処理するためのツールがあります。
今日のビデオ
A カンマ区切り値 ファイルは、構造化データを表すもう1つの方法です。 これらのファイルは、スプレッドシートや同様の種類のプログラムでよく使用されるため、 JSONをExcelにインポートする 最初にCSVファイルに変換すると便利な場合があります。 通常、CSVファイルのファイルの上部には、各列に何が格納されているかを示す列ヘッダーが含まれています。 次に、ファイルの各行は、コンマで区切られた、列ごとに1つずつ、複数の値で構成されます。 カンマを含むデータを処理するための特別な規則があります。
JSONファイルと同様に、CSVファイルを生成および読み取るためのPythonを含む多くのプログラミング言語のツールが多数あります。
JSONをCSVに変換する
Pythonに組み込まれているJSONおよびCSVライブラリを使用して、JSONをCSVに変換できます。 コードの上部に「importjson」と「importcsv」という行を追加して、コードにインポートします。
次に、JSONライブラリの「ロード"JSONファイルからデータをインポートするメソッド。 Python辞書として読み込まれます。 辞書の「キー"CSVファイルの列になるJSONファイルのデータフィールドを決定するメソッド。
CSVライブラリの「DictWriter」 これらの列を含むCSVファイルを作成するクラスで、DictWriterの「フィールド名」 口論。 その「ライトヘッダー"CSVの上部に列名を出力するメソッド。
次に、JSONオブジェクトをループします。 forループ。 電話 JSONファイルの各データ要素に対するCSVオブジェクトの「writerow」メソッド。CSVファイルに対応する行を作成します。
複雑なJSONファイル
一部の複雑なJSONファイルは、CSVとして表現するのが難しい場合があります。 これには、標準の行と列の構造にすぐに一致しないファイルが含まれる場合があります。 このようなファイルを扱っていて、それをCSVに変換したい場合は、いくつかのオプションがあります。
まず、JSONファイルで発生するデータフィールドのセット全体を検索し、これらをCSVの列にすることができます。 特定の行に表示されない場合は、その行の列を空白のままにします。 オプションを使用する "extrasaction = 'ignore'" 特定のデータで発生しないフィールドに対してこれを自動的に行うようにPythonCSVDictWriterを設定する場合。
JSONファイルを複数のCSVとして表すことも検討できます。これは、JSONファイルで表されるデータのタイプごとに1つずつです。 Pythonを使用する もしも 特定のデータを書き込む必要があるCSVファイルを検出するステートメント。
この手法は、JSONオブジェクトに他のオブジェクトが含まれているネストされたJSONファイルにも役立ちます。 これらのサブオブジェクトは、プライマリCSVのどの行に対応するかを示す独自のCSVファイルに入れることができます。