コンサルでデータサイエンティスト

仕事でPythonを書いてます。機械学習、Webマーケティングに興味があります。趣味は旅です。

PythonでCSVからJSON形式に変換する方法

Pythonを用いてCSVからJSON形式に変換する方法についてソースコードと共にご紹介します。

目次

f:id:hktech:20180911214935p:plain

CSVデータの1行目にヘッダーがある場合

import json
import csv

json_list = []

# CSV ファイルの読み込み
with open('input_data.csv', 'r') as f:
    for row in csv.DictReader(f):
        json_list.append(row)

# JSON ファイルへの書き込み
with open('output.json', 'w') as f:
    json.dump(json_list, f)

# JSONファイルのロード
with open('output.json', 'r') as f:
    json_output = json.load(f)

CSVデータの1行目にヘッダーがなく、自分で指定したい場合

import json
import csv

json_list = []
keys = ('column1', 'column2', 'column3') # 列数と要素数を一致させる

# CSV ファイルの読み込み
with open('input_data.csv', 'r') as f:
    for row in csv.DictReader(f, keys):
        json_list.append(row)

# JSON ファイルへの書き込み
with open('output.json', 'w') as f:
    json.dump(json_list, f)

# JSONファイルのロード
with open('output.json', 'r') as f:
    json_output = json.load(f)

まとめ

PythonCSVデータをJSON形式に変換する方法についてご紹介しました。最近よく使われているNoSQLデータベースなどでは、入力がJSON形式に限定されていることも多いので、この記事を参考にしてみてはいかがでしょうか。