[英]convert all data within the json to csv using pandas or python
我嘗試使用json_normalize展平數據,但部分數據仍未展平。 如何獲取此json的拼合數據。 注意:這是一個示例json文件,但嵌套部分中的數據可能會增加。
碼:
json_file = {
"data": "abc",
"data2": 123,
"results": {
"name": "w",
"more_data": [
{
"no": "111",
"code": 3
}
],
"id": 1
}
}
data = json_normalize(json_file)
data.to_csv('flatten.csv')
結果:
,data,data2,results.id,results.more_data,results.name
0,abc,123,1,"[{'no': '111', 'code': 3}]",w
results.more_data still gives me a json instead of flattening it.
我如何使它工作?
預期產量:
由於results.more_data是一個數組,因此甚至必須將其展平。 例如:
,data,data2,results.id,results.more_data.0.no,results.more_data.0.code,results.name
0,abc,123,1, '111', "3",w
考慮以下演示:
In [105]: json_file = {
...: "data": "abc",
...: "data2": 123,
...: "results": {
...: "name": "w",
...: "more_data": [
...: {
...: "no": "111",
...: "code": 3
...: },
...: {
...: "no": "222",
...: "code": 4
...: }
...:
...: ],
...: "id": 1
...: }
...: }
...:
In [106]:
In [106]: json_normalize(json_file,
[['results','more_data']],
['data','data2', ['results','id'], ['results','name']],
record_prefix='results.more_data.')
Out[106]:
results.more_data.code results.more_data.no data data2 results.id results.name
0 3 111 abc 123 1 w
1 4 222 abc 123 1 w
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.