我是一名菜鸟程序员,我正在尝试使用Pandas将Excel文件转换为嵌套JSON。
我正在发布我的代码和预期的输出,到目前为止我还无法实现。问题是,我转换为嵌套信息的excel列实际上应该属于“地址”名称,而我不知道该怎么做。感谢您的任何建议。
这是excel文件的外观:
import pandas as pd
import json
df = pd.read_excel("...",encoding = "utf-8-sig")
df.fillna('',inplace = True)
def get_nested_entry(key,grp):
entry = {}
entry['Forename'] = key[0]
entry['Middle Name'] = key[1]
entry['Surname'] = key[2]
for field in ['Address - Country']:
entry[field] = list(grp[field].unique())
return entry
entries = []
for key,grp in df.groupby(['Forename','Middle Name','Surname']):
entry = get_nested_entry(key,grp)
entries.append(entry)
print(entries)
with open("excel_to_json_output.json","w",encoding = "utf-8-sig") as f:
json.dump(entries,f,indent = 4)
这是预期的结果
[
{
"firstName": "Angela","lastName": "L.","middleName": "Johnson","addresses": [
{
"postcode": "32807","city": "Orlando","state": "FL","country": "United States of America"
}
],
我得到的是这个
[
{
"Forename": "Angela","Middle Name": "L.","Surname": "Johnson","Address - Country": [
"United States of America"
]
},