【Python学習中】 CSVファイルをJSON形式に変換する方法
今回は、前回作成した「レジャー施設」の表のCSVファイルを
jsonモジュールとcsvモジュールを使ってJSON形式に変換したいと思います。
前回作成したCSVファイルは、記事末尾の関連記事に記載されている
「【Python学習中】 スクレイピング実践 表のデータをcsvファイルに保存する方法3 - Kの備忘録(仮)」に掲載されています。
jsonモジュールとcsvモジュールの説明は後日改めて行います。
JSON形式については以下の記事をご覧ください。
【Python学習中】JSONとは何か? - Kの備忘録(仮)
◆目次◆
今回のお題
手順1
手順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の備忘録(仮)