python を使って 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}}'}"
プログラム
python のコードは以下ようになります。
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)