sample

Python jsonからcsvファイルへ変換

import csv
import json
import sys
import os

def is_valid_json_file(filename):
    if not os.path.exists(filename):
        return False
    try:
        with open(filename, 'r', encoding='utf-8') as f:
            json.load(f)
            return True
    except (FileNotFoundError, ValueError):
        return False

def main():
    # JSONファイル名
    #json_filename = "data.json"
    json_filename = sys.argv[1]
    # CSVファイル名
    #csv_filename = "data.csv"
    csv_filename = sys.argv[2]

    print ('JSONファイル:',json_filename)
    print ('CSVファイル :',csv_filename)
    #print(is_valid_json_file(json_filename))

    if not is_valid_json_file(json_filename):
        print("指定のファイルは正しいJSON形式でない、または存在しません。")
        # 処理を中断する
        exit()

    # JSONファイルを読み込む
    with open(json_filename, mode='r', encoding='utf-8') as json_file:
        json_data = json.load(json_file)

    # CSVファイルに書き込むためのフィールド名
    fieldnames = ["key1", "key2"]

    # CSVファイルに書き込み
    with open(csv_filename, mode='w', newline='', encoding='utf-8') as csv_file:
        writer = csv.DictWriter(csv_file, fieldnames=fieldnames)

        # ヘッダーを書き込む
        writer.writeheader()

        # 各行を書き込む
        for row in json_data:
            writer.writerow(row)

    print("CSVファイルが作成されました:", csv_filename)

if __name__ == '__main__':
    main()
test >> python .\json_to_csv.py data.json data.csv
JSONファイル: data.json
CSVファイル : data.csv
CSVファイルが作成されました: data.csv
test >>
スポンサーリンク