如何将python数据帧转换为嵌套json并在本地保存
我的python代码中有一个数据帧:如何将python数据帧转换为嵌套json并在本地保存,python,json,Python,Json,我的python代码中有一个数据帧: emp_id skillset experience emp_name department 0 1120 java 7 Gary Lobortis 1 1120 python 1 Gary Lobortis 2 1120 Analytics 7 Gary Lobortis 3 1122 Ora
emp_id skillset experience emp_name department
0 1120 java 7 Gary Lobortis
1 1120 python 1 Gary Lobortis
2 1120 Analytics 7 Gary Lobortis
3 1122 Oracle 3 Prescott Velit
4 1129 AWS 7 Kevin Sed
5 1122 java 3 Prescott Velit
请参见结果表的以下部分:
我需要这个数据帧的嵌套JSON输出。假设您的数据帧的名称是
df
,下面应该会提供您所需要的
import json
j = (df.groupby(['emp_id','emp_name','department'], as_index=False)
.apply(lambda x: x[['skillset','experience']].to_dict('r'))
.reset_index()
.rename(columns={0:'skills'})
.to_json(orient='records'))
print(json.dumps(json.loads(j), indent=2, sort_keys=False))
输出:
[
{
"emp_id": 1120,
"emp_name": "Gary",
"department": "Lobortis",
"skills": [
{
"skillset": "java",
"experience": 7
},
{
"skillset": "python",
"experience": 1
},
{
"skillset": "Analytics",
"experience": 7
}
]
},
{
"emp_id": 1122,
"emp_name": "Prescott",
"department": "Velit",
"skills": [
{
"skillset": "Oracle",
"experience": 3
},
{
"skillset": "java",
"experience": 3
}
]
},
{
"emp_id": 1129,
"emp_name": "Kevin",
"department": "Sed",
"skills": [
{
"skillset": "AWS",
"experience": 7
}
]
}
]
向我们展示你的努力?谢谢,但我得到一个错误:AttributeError Traceback(最近一次调用last)in()5 df=result 6-->7 j=(df.groupby(['emp_id','emp_name','department','department',as_index=False)8.apply(lambda x:x['skillset','experience'])to_dict('r'))9.reset_index()AttributeError:“dict”对象没有属性“groupby”emp_id emp_name部门技能1120 Gary Lobortis技能集体验java 7 python 1分析7 1122 Prescott Velit技能集体验Oracle 3 java 3 1129 Kevin Sed技能集体验AWS 7