ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

python で json -> csv 変換

json から csv に変換させたい場合のメモをここに残します。

データ

入力データ(json)

{
  "template": [
    {
      "path": {{path}},
      "accountId": {{accountId}},
      "templateData":{{templateData}}
    },
    {
      "path": {{path}},
      "accountId": {{accountId}},
      "templateData":{{templateData}}
    }
  ]
}

出力データ(csv)

,template
0,"{'path': '{{path}}', 'accountId': '{{accountId}}', 'templateData': '{{templateData}}'}"
1,"{'path': '{{path}}', 'accountId': '{{accountId}}', 'templateData': '{{templateData}}'}"

プログラム

import argparse
import pandas as pd
import traceback

if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        formatter_class = argparse.ArgumentDefaultsHelpFormatter
    )
    parser.add_argument(
        '--injson', 
        help = 'input json file', 
        required=True
    )
    parser.add_argument(
        '--outcsv', 
        help='output csv file', 
        required=True
    )
    args = parser.parse_args()
    try:
        df = pd.read_json(args.injson, encoding='utf_8')
        df.to_csv(args.outcsv, encoding='utf_8') 
    except Exception as e:
        print (traceback.format_exc())
        sys.exit(1)