やりたいこと
jsonを以下のようなcsvファイルに変換したいです
元のJSONファイル↓
json
1[ 2 { 3 "copyright": "© Google", 4 "date": "2019-03", 5 "location": { 6 "lat": 36.09595147683597, 7 "lng": 140.0958098076157 8 }, 9 "pano_id": "nxjc_m1rCt35lRgK0JMyNA", 10 "status": "OK", 11 "_file": "gsv_0.jpg" 12 }, 13 { 14 "copyright": "© Google", 15 "date": "2019-06", 16 "location": { 17 "lat": 36.09572105125777, 18 "lng": 140.0960190499983 19 }, 20 "pano_id": "3HSZ4wDm2EcGms3emO1m7g", 21 "status": "OK", 22 "_file": "gsv_1.jpg" 23 },
csv
1,copyright,date,lat,lng,pano_id,status,_file 20,© Google,2019-03-01,36.09595147683597,140.0958098076157 3,nxjc_m1rCt35lRgK0JMyNA,OK,gsv_0.jpg 41,© Google,2019-06--01,36.09572105125777,140.0960190499983,3HSZ4wDm2EcGms3emO1m7g,OK,gsv_1.jpg
現状の問題点
プログラミングは人のコードを少し変えて動かせる程度の学生です...
一部("location")ネストしているjsonをフラットにしてcsvに変換したいです
実行コード
python
1import pandas as pd 2import json 3import os 4from pandas.io.json import json_normalize 5 6file = "" 7 8df = pd.read_json(file) 9df_json.to_csv("out.csv", encoding='utf-8')
出力されたCSV
csv
1,copyright,date,location,pano_id,status,_file 20,© Google,2019-03-01,"{'lat': 36.09595147683597, 'lng': 140.0958098076157}",nxjc_m1rCt35lRgK0JMyNA,OK,gsv_0.jpg 31,© Google,2019-06-01,"{'lat': 36.09572105125777, 'lng': 140.0960190499983}",3HSZ4wDm2EcGms3emO1m7g,OK,gsv_1.jpg
試したこと
** json_normalize(df["location"])**として展開しましたが,そうすると今度は
python
1df = pd.read_json(file) 2df_json = json_normalize(df["location"]) 3df_json.to_csv("out.csv", encoding='utf-8') 4コード
csv
1,lat,lng 20,36.09595147683597,140.0958098076157 31,36.09572105125777,140.0960190499983
このように出力され,他の取得したいキーが変換できませんでした
元のjsonファイルにある他のキーもcsvに変換したいです
わかる方いれば教えていただけると幸いです,,
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/14 04:08