LoginSignup
7
24

More than 3 years have passed since last update.

JsonファイルをCSV形式 or EXCEL形式に変換する方法

Posted at

JSON形式のファイルは見にくい。CSVやEXCELに変換したい。の悩みを解決する方法をシェアします。

本稿ではPythonを用いたPythonをもちいたJsonファイルの変換方法と、WEBベースでできる変換ツールをご紹介いたします。

方法1:Pythonを用いて変換する

使い方は非常に簡単です。

1.変換したいJsonファイルと、Pythonファイルを同じファイル階層に置く。

2.下記プログラムの中で、3箇所を変更してください。

  • プログラム中の『変換したいJsonファイル名』のところを1で置いたJsonファイル名に変更してください。
  • Jsonファイルの最初に書いてある単語を『Jsonファイルを開いたときに一番最初に書いてある単語』に入れてください。 {"results":[{"acl":{"*":{"read":true,・・・のようにJsonファイルが始まっていたら、今回の場合は『results』を入れてください。
  • プログラムの中の『出力したいファイル名』のところを出力したいファイル名に変更してください。
ConvertJsonToCsv.py
#-*-coding:utf-8-*-
################################################
#目的     :JsonファイルをCSVに変換する。
################################################

import json
import csv

# JSONファイルのロード
json_dict = json.load(open('変換したいJsonファイル名.json', 'r', encoding="utf_8_sig"))
# list of dictの抽出
target_dicts = json_dict['Jsonファイルを開いたときに一番最初に書いてある単語']

with open('出力したいファイル名.csv', 'w', encoding="utf_8_sig") as f:
    # dialectの登録
    csv.register_dialect('dialect01', doublequote=True, quoting=csv.QUOTE_ALL)
    # DictWriter作成
    writer = csv.DictWriter(f, fieldnames=target_dicts[0].keys(), dialect='dialect01')
    # CSVへの書き込み
    writer.writeheader()
    for target_dict in target_dicts:
        writer.writerow(target_dict)

方法2:WEBサービスを用いて変換する。

ファイルをサーバーに送信することが問題ないファイルだったらこちらの方法を用いたほうが、簡単だと思います。

リンク

JsonファイルをオンラインでCSVに変換できるWEBサービス

7
24
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
7
24