如何处理特定的 json 文件以获得数据框
Posted
技术标签:
【中文标题】如何处理特定的 json 文件以获得数据框【英文标题】:How to deal with a specific json file in order to have a dataframe 【发布时间】:2021-09-17 04:10:17 【问题描述】:我有一个对象字典(JSON 响应),我想将它转换为 Python 中的数据框。 这是我的 json 示例:
'data': 'id': '3e813eaa-723d-48f9-b5b2-45dde744eba7',
'type': 'analytics',
'attributes': 'results': ['publication_datetime': '1983-02',
'count': 2672, 'source_code': 'WP',
'publication_datetime': '2006-10',
'count': 7767, 'source_code': 'WP',
'publication_datetime': '2011-06',
'count': 4800, 'source_code': 'WP',
'publication_datetime': '2013-01',
'count': 5300, 'source_code': 'WP',
'publication_datetime': '2014-11',
'count': 5282, 'source_code': 'WP',
'publication_datetime': '2018-02',
'count': 3663, 'source_code': 'WP',
'publication_datetime': '2020-06',
'count': 3034, 'source_code': 'WP',
'publication_datetime': '2021-06',
'count': 3138, 'source_code': 'WP',
]
这是一个嵌套列表,我想将其转换为 df,这是输出:
Dataframe output
d = explain_response.json()
df = pd.DataFrame(d['data'])
你知道如何获得这样的 df 吗:
df = pd.DataFrame(columns=["publication_datetime", "count", "source_code"], data=[["2001-11","1", "WP"]])
print(df.head())
【问题讨论】:
【参考方案1】:IIUC,这是一种方法:
df = pd.DataFrame(d['data']).explode('attributes').pop('attributes').apply(pd.Series).reset_index(drop =True)
输出:
publication_datetime count source_code
0 1983-02 2672 WP
1 2006-10 7767 WP
2 2011-06 4800 WP
3 2013-01 5300 WP
4 2014-11 5282 WP
5 2018-02 3663 WP
6 2020-06 3034 WP
7 2021-06 3138 WP
【讨论】:
完美运行,非常感谢!我不知道字典的爆炸和流行,我会去看一些关于它的资料。祝你有美好的一天!以上是关于如何处理特定的 json 文件以获得数据框的主要内容,如果未能解决你的问题,请参考以下文章
出现“需要提供管理员权限来更改这些属性”时,该如何处理?怎样才能获得管理员权限呢?我的系统是win7