【发布时间】:2019-08-19 15:18:33
【问题描述】:
我有一个字典列表。一些字典共享相同的元素。
data = [
{'New_PCP_Name': 'Jack0',
'Member_Name': 'Jack0, 0',
'Member_ID': '111',
'DOB': '111',
'PCP_ID':'111'
},
{'New_PCP_Name': 'Jack0',
'Member_Name': 'Jack00, 00',
'Member_ID': '222',
'DOB': '222',
'PCP_ID':'111'
},
{'New_PCP_Name': 'Jack1',
'Member_Name': 'Jack1, 1',
'Member_ID': '333',
'DOB': '333',
'PCP_ID':'333'
},
{'New_PCP_Name': 'Jack2',
'Member_Name': 'Jack2, 2',
'Member_ID': '444',
'DOB': '444',
'PCP_ID':'444'
}
]
我需要将它们组合成特定的格式。前 2 个字典共享相同的元素“New_PCP_Name”:“Jack0”。所以我想把它们结合起来。最终产品如下。这种格式必须完全像这样,因为我需要在从 Excel 导入的数据的邮件合并中使用这种格式。
data = [
{'New_PCP_Name': 'Jack0',
'PCP_ID':'111',
'Member_Name':[{'Member_Name':'Jack0, 0','Member_ID':'111','DOB':'111'},
{'Member_Name': 'Jack00, 00', 'Member_ID': '222', 'DOB': '222'}]
},
{'New_PCP_Name': 'Jack1',
'Member_Name': 'Jack1, 1',
'Member_ID': '333',
'DOB': '333',
'PCP_ID':'333'
},
{'New_PCP_Name': 'Jack2',
'Member_Name': 'Jack2, 2',
'Member_ID': '444',
'DOB': '444',
'PCP_ID':'444'
}
]
我是 python 新手。我尝试分解列表,修改字典并将它们重新组合在一起,如下所示。那没有成功。请帮我弄清楚如何重新格式化字典列表。或者有没有办法为共享相同单元格值的行以特定格式从 Excel 导入数据?
data2=[]
for x in range (0,len(data),1):
print(x)
print(data[x])
a = data[x]
print(a['New_PCP_Name'])
if x+1<=len(data):
if data[x]['New_PCP_Name'] == data[x+1]['New_PCP_Name']:
print('yes')
data2.append(data[x])
else:
print('no')
print('data2=', data2)
【问题讨论】:
标签: python excel python-3.x list data-dictionary