为了账号安全,请及时绑定邮箱和手机立即绑定

将 JSON 数据转换为 Pandas DataFrame

将 JSON 数据转换为 Pandas DataFrame

牛魔王的故事 2023-07-11 15:26:13
"{\".travis.yml\": {\"auth_count\": 1, \"authors\": {\"py/set\": [\"Alexandr Tsaplin\"]}, \"count\": 1}, \"fleetspeak/client-mac/com.google.code.fleetspeak.plist\": {\"auth_count\": 1, \"authors\": {\"py/set\": [\"mol123\"]}, \"count\": 1}, \"fleetspeak/src/client/client/client.go\": {\"auth_count\": 1, \"authors\": {\"py/set\": [\"mol123\"]}, \"count\": 1}, \"fleetspeak/src/client/client_test.go\": {\"auth_count\": 2, \"authors\": {\"py/set\": [\"Ben Galehouse\", \"mol123\"]}, \"count\": 2}, \"fleetspeak/src/client/entry/entry_unix.go\": {\"auth_count\": 1, \"authors\": {\"py/set\": [\"mol123\"]}, \"count\": 1}, \"fleetspeak/src/client/entry/entry_windows.go\":我想将 JSON 数据(存储在 result.json 文件中)转换为数据帧。我希望我的数据框看起来像所附图像中的数据框。
查看完整描述

1 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

您可以将 JSON 读入数据帧,然后将作者从列表转换为字符串:


# read json from string `s` to a dataframe

df = (pd.read_json(s).T

    .reset_index()

    .rename(columns={'index': 'Filename', 'auth_count': 'authors_count'}))


# convert lists of authors to comma-separated strings

df['authors'] = df['authors'].apply(lambda x: ', '.join(x['py/set']))


df

输出:


               Filename authors_count              authors count

0           .travis.yml             1     Alexandr Tsaplin     1

1   fleetspeak/clien...             1               mol123     1

2   fleetspeak/src/c...             1               mol123     1

3   fleetspeak/src/c...             2  Ben Galehouse, m...     2

4   fleetspeak/src/c...             1               mol123     1

5   fleetspeak/src/c...             1               mol123     1

6   fleetspeak/src/c...             1               mol123     1


查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信