我想将结构相似的字符串列表转换为字典列表。
字符串列表示例:
list_of_strings = [
'ID payment_method email issue_date payment_date amount currency',
'ID payment_method email issue_date payment_date amount currency',
'ID payment_method email issue_date payment_date amount currency',
...
]
每个信息片段都由字符串本身内部的空格分隔。
所需输出:
resulting_list_of_dicts = [
dict_1 = {"ID": "id1", "payment_method": "paymentmethod1", "e_mail": "email1", "payment_date": "paymentdate1", "amount": "amount1", "currency": "currecny1"},
dict_2 = {"ID": "id2", "payment_method": "paymentmethod2", "e_mail": "email1", "payment_date": "paymentdate2", "amount": "amount2", "currency": "currecny2"},
...
]
我尝试过使用字符串分割函数,但在尝试将子字符串附加到字典时遇到了麻烦。
循环字符串列表中的每一行。
使用
split()
获取每个单独的部分。
从这些部分构建一个新字典并将其附加到另一个列表。
list_of_dicts = []
for s in list_of_strings:
parts = s.split()
list_of_dicts.append({
'id': parts[0],
'payment_method': parts[1],
... and so on
})
列出字典中所需的所有键。然后,您可以使用 从单独的键和值列表创建字典 (dict)
中的技术将其与分割字符串结合起来创建每个字典。keys = ['ID', 'payment_method', 'email', 'issue_date', 'payment_date', 'amount', 'currency']
resulting_list_of_dicts = [dict(zip(keys, item.split())) for item in list_of_strings]