Python で j=JSON を CSV に変換する
-
Python で Pandas DataFrames
to_csv()
メソッドを使用して JSON を CSV に変換する -
JSON を CSV ファイルに変換するには
csv
モジュールを使用する
JSON は JavaScript Object Notation
の略です。これは JavaScript のオブジェクトのフォーマットに基づいており、構造化されたデータを表現するためのエンコーディング技術です。最近では特にサーバや Web アプリケーション間でデータを共有するために広く利用されています。
CSV ファイルは、Excel スプレッドシートのような表形式でデータを保存するために使用されます。
このチュートリアルでは、JSON データを CSV ファイルに変換する方法を学びます。
Python で Pandas DataFrames to_csv()
メソッドを使用して JSON を CSV に変換する
このメソッドでは、まず JSON を Pandas の DataFrame に変換し、そこから to_csv()
メソッドを使って CSV ファイルに変換します。JSON を DataFrame に変換するために、Python の json
ライブラリで提供されている json.loads()
関数を使って JSON の文字列を読み込みます。そして、この JSON オブジェクトを json_normalize()
関数に渡し、必要なデータを含む Pandas DataFrame を返します。
次のコードスニペットでその方法を説明します。
import pandas as pd
import json
data = """
{
"Results":
[
{ "id": "1", "Name": "Jay" },
{ "id": "2", "Name": "Mark" },
{ "id": "3", "Name": "Jack" }
],
"status": ["ok"]
}
"""
info = json.loads(data)
df = pd.json_normalize(info["Results"])
df.to_csv("samplecsv.csv")
作成した CSV ファイルの内容は以下の通りです。
,id,Name
0,1,Jay
1,2,Mark
2,3,Jack
JSON を CSV ファイルに変換するには csv
モジュールを使用する
この方法では、CSV ファイルの読み書きに使用する Python の csv
ライブラリを使用します。まず、先ほどのメソッドと同様に JSON データを読み込む。ファイルを書き込みモードで開き、csv
モジュールの DictWriter()
を使って、JSON データをファイルにマッピングして書き込むためのオブジェクトを作成します。fieldnames
はキーであり、writerows()
関数を使って行を書き込む際にデータと照合されます。
以下のコードスニペットは、上記のメソッドを実装する方法を示しています。
import csv
import json
data = """
{
"Results":
[
{ "id": "1", "Name": "Jay" },
{ "id": "2", "Name": "Mark" },
{ "id": "3", "Name": "Jack" }
],
"status": ["ok"]
}
"""
info = json.loads(data)["Results"]
print(info[0].keys())
with open("samplecsv.csv", "w") as f:
wr = csv.DictWriter(f, fieldnames=info[0].keys())
wr.writeheader()
wr.writerows(info)
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn関連記事 - Python JSON
- Python で URL から JSON を取得する
- Python で JSON ファイルをきれいに出力する方法
- JSON Diff を使用した Python のマルチレベル JSON オブジェクトの比較
- Python クラス オブジェクトを JSON にシリアル化する
- Python で JSON をフラット化する
- Python を使用して JSON ファイルにデータを追加する