0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでJSONデータをCSVファイルに変換する方法

Last updated at Posted at 2025-03-06

Pythonを使ってJSON形式のデータをCSV形式に変換することを仕事で最近行ったので、忘備録用に方法をまとめようと思います。

目次

  1. 必要なライブラリ
  2. JSONデータを用意する
  3. JSONデータをCSVに変換する
  4. 完成したCSVファイル
  5. エラーハンドリング
  6. 結論

必要なライブラリについて

まず、JSONデータをCSVに変換するために必要なライブラリを最初にインポートします。

import json
import csv
  • json: JSONデータを処理するための標準ライブラリ
  • csv: CSVファイルを操作するための標準ライブラリ

JSONデータを用意する

次に、変換対象のJSONデータを用意します。
以下の例では、簡単なJSONデータを使用します。

[
    {"id": 1, "name": "Taro", "age": 25},
    {"id": 2, "name": "Kyoko", "age": 30},
    {"id": 3, "name": "Hanako", "age": 35}
]

このデータは、3つのオブジェクトを含むリストです。それぞれのオブジェクトには、idnameageというフィールドがあります。

JSONデータをCSVに変換する

次に、Pythonコードを使ってJSONデータをCSVに変換します。
以下にコーディング例を記載します。

# JSONデータの読み込み(ファイルから読み込む場合)
with open('data.json', 'r') as json_file:
    data = json.load(json_file)

# CSVファイルに書き込む
with open('data.csv', 'w', newline='') as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=["id", "name", "age"])
    writer.writeheader()  # ヘッダーを書き込む
    writer.writerows(data)  # データを書き込む

説明

  1. JSONの読み込み
    json.load()を使用して、JSONファイルを読み込みます。ここではdata.jsonというファイル名のJSONデータを読み込んでいます。

  2. CSVファイルの作成
    csv.DictWriterを使ってCSVファイルにデータを書き込みます。fieldnamesで列名(フィールド名)を指定します。

  3. ヘッダーの書き込み
    writeheader()メソッドを使って、CSVファイルの最初に列名を追加します。

  4. データの書き込み
    writerows()を使って、JSONデータをCSVファイルに書き込みます。

完成したCSVファイル

上記のコードを実行した後、data.csvというファイルが作成され、内容は次のようになります。

id,name,age
1,Taro,25
2,Kyoko,30
3,Hanako,35

エラーハンドリング

JSONファイルの読み込みや書き込み処理でエラーが発生する可能性があります。簡単なエラーハンドリングを追加して、処理を安全に行うことができます。

try:
    with open('data.json', 'r') as json_file:
        data = json.load(json_file)

    with open('data.csv', 'w', newline='') as csv_file:
        writer = csv.DictWriter(csv_file, fieldnames=["id", "name", "age"])
        writer.writeheader()
        writer.writerows(data)
    print("変換が成功しました!")
except FileNotFoundError:
    print("JSONファイルが見つかりません。")
except json.JSONDecodeError:
    print("JSONのデコードに失敗しました。")
except Exception as e:
    print(f"エラーが発生しました: {e}")

このようにすることで、ファイルが見つからない場合やJSONの構文エラーが発生した場合でも、エラーメッセージを表示できます。

結論

Pythonを使ってJSONデータをCSVファイルに変換する方法は非常に簡単です。標準ライブラリjsoncsvを使用することで、数行のコードで変換処理を行うことができます。データ分析や可視化ツールで使用する際に、JSONからCSVに変換して活用することができます。


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?