1. ホーム
  2. json

[解決済み] PandasのDataFrameをJSON形式に変換する

2022-03-06 20:47:54

質問

Pandasがあります。 DataFrame には2つのカラムがあり、1つはファイル名、もう1つはファイルが生成された時間です。

 File       Hour
  F1         1
  F1         2
  F2         1
  F3         1

それを以下のような形式のJSONファイルに変換しようとしています。

{"File":"F1","Hour":"1"} 
{"File":"F1","Hour":"2"}
{"File":"F2","Hour":"1"}
{"File":"F3","Hour":"1"}

コマンドを使用すると DataFrame.to_json(orient = "records") 以下のようなフォーマットでレコードが表示されます。

[{"File":"F1","Hour":"1"},
 {"File":"F1","Hour":"2"},
 {"File":"F2","Hour":"1"},
 {"File":"F3","Hour":"1"}]

希望する形式のJSONファイルを取得するオプションはないかと考えているところです。何か手助けがあれば、よろしくお願いします。

解決方法を教えてください。

の後に得られる出力は DF.to_json string . ですから、要件に応じてスライスして、カンマも削除すればよいのです。

out = df.to_json(orient='records')[1:-1].replace('},{', '} {')

出力をテキストファイルに書き出すには、次のようにします。

with open('file_name.txt', 'w') as f:
    f.write(out)