Kの備忘録(仮)

Python、VBA、Excelを中心に記事を投稿

【Python学習中】 CSVファイルをJSON形式に変換する方法

今回は、前回作成した「レジャー施設」の表のCSVファイルを
jsonモジュールとcsvモジュールを使ってJSON形式に変換したいと思います。

前回作成したCSVファイルは、記事末尾の関連記事に記載されている
「【Python学習中】 スクレイピング実践 表のデータをcsvファイルに保存する方法3 - Kの備忘録(仮)」に掲載されています。

jsonモジュールとcsvモジュールの説明は後日改めて行います。

JSON形式については以下の記事をご覧ください。
【Python学習中】JSONとは何か? - Kの備忘録(仮)

◆目次◆

今回のお題

CSVファイルをJSON形式に変換する

手順1

jsonモジュールとcsvモジュールをインポートする

手順2

CSVファイルを読み込む

with open('読み込むCSVファイル名', 'r' ,encoding='utf-8-sig') as f:
    for row in csv.DictReader(f):
        json_list.append(row)

手順3

JSONファイルへ書き込む

with open('書き込むJSONファイル名', 'w', encoding='utf-8-sig') as f:
    json.dump(json_list, f)

手順4

正しくJSONファイルの書き込みができているか確認するため
JSONファイルを読み込んで出力する

with open('手順3で作成したJSONファイル名', 'r', encoding='utf-8-sig') as f:
    leisur = json.load(f)
print(leisur)

実際のコード

import json
import csv

json_list = []

# CSVファイルの読み込み
with open('leisur.csv', 'r' ,encoding='utf-8-sig') as f:
    for row in csv.DictReader(f):
        json_list.append(row)

# JSONファイルへの書き込み
with open('leisur_output.json', 'w', encoding='utf-8-sig') as f:
    json.dump(json_list, f)

# JSONファイルの読み込み
with open('leisur_output.json', 'r', encoding='utf-8-sig') as f:
    leisur = json.load(f)

# JSONファイルの出力
for json_leisur in leisur:
    print(json_leisur)

# 出力結果
# {' 施設名 ': '青梅ゴルフ倶楽部', '所在地': '東京都青梅市', 'カテゴリ': 'ゴルフ場'}
# {' 施設名 ': '東台野球場', '所在地': '東京都練馬区', 'カテゴリ': '野球場'}
# ・
# ・
# ・
# {' 施設名 ': '東京都立和田堀公園第二競技場', '所在地': '東京都杉並区', 'カテゴリ': 'サッカー場・競技場'}
# {' 施設名 ': '東京国際空港ゴルフ倶楽部', '所在地': '千葉県多古町', 'カテゴリ': 'ゴルフ場'}

これで、スクレイピングした表を最終的にはJSON形式にすることができました。

関連記事

【Python学習中】 スクレイピング実践 表のデータをcsvファイルに保存する方法1 - Kの備忘録(仮)
【Python学習中】 スクレイピング実践 表のデータをcsvファイルに保存する方法2 - Kの備忘録(仮)
【Python学習中】 スクレイピング実践 表のデータをcsvファイルに保存する方法3 - Kの備忘録(仮)