【发布时间】:2021-10-10 19:44:31
【问题描述】:
我有一个这样的列表:
splitted = [['OID:XXXXXXXXXXX1',
' street:THE ROAD',
'town:NEVERPOOL',
'postcode:M1 2DD',
'Name:SOMEHWERE',
'street:THE ROAD',
'town:NEVERLAND',
'postcode:M1 2DD'],
['OID:XXXXXXXXXXX2',
' Name:30',
'street:DA PLACE',
'town:PERTH',
'postcode:PH1 2DD',
'Name:30',
'street:DA PLACE',
'town:PERTH',
'postcode:PH1 2DD']]
我想将这些转换为键值对,如下所示:
{'OID': 'XXXXXXXXXXX1', ' street': 'THE ROAD', 'town': 'NEVERPOOL', 'postcode': 'M1 2DD', 'Name': 'SOMEWHERE', 'street': 'THE ROAD', 'town': 'NEVERPOOL', 'postcode': 'M1 2DD'}, {'MPXN': 'XXXXXXXXXXX2', ' Name': '30', 'street': 'DA PLACE', 'town': 'PERTH', 'postcode': 'PH1 2DD', 'primaryName': '30', 'street1': 'DA PLACE', 'town': 'PERTH', 'postcode': 'PH1 2DD'}
我无法在线找到一种方法将列表列表转换为键值对作为字典,然后供熊猫使用。这样做的目的是将 dicts 转换为 pandas DataFrame,这样我就可以使用它并以表格格式使用它
到目前为止我使用的代码在这里:
output = []
for list in splitted:
for key_value in list:
key, value = key_value.split(':', 1)
if not output or key in output[0]:
output.append({})
output[-1][key] = value
上面代码的问题是它不维护列表列表,并且将OID字段与其他数据项混合在一起,我想要一个从每个OID开始的dict。
任何帮助将不胜感激:)
【问题讨论】:
标签: python list dictionary key-value