例如, input1,input2 变量和key_loc是字典的键列表,
输入:
input1='sam,geti,1234'
input2='jhon,somwhre,676966'
key_loc =['name','addr','phone']
我期待以下格式的输出。
输出:
output={'recod1:{'name':'sam','addr':'geti','phone':'12343'},
'record2':{'name':'jhon','addr':'somewhre','phone':'676966'}}
我们怎么能在python中做到这一点?
答案 0 :(得分:4)
我假设您有一个包含您发布的输入行的文件或类文件对象input
。然后,您可以使用此代码将其解析为如下字典:
output = {}
for line in input:
key, values = line.strip().split('=', 1)
data = values.split(',')
output['record' + key[5:]] = dict(name=data[0], addr=data[1], phone=data[2])
但是,如果您实际上不需要input1
等号码,请考虑使用list
作为顶级对象:
output = []
for line in input:
values = line.strip().split('=', 1)[1]
data = values.split(',')
output.append(dict(name=data[0], addr=data[1], phone=data[2]))
答案 1 :(得分:2)
您可以使用json库。
如果您想自己编码,您应该执行以下操作:
output = {}
for indx, input in enumerate(inputs):
name, addr, phone = input.split(",")
output['record%i' %indx] = {'name':name, 'addr':addr, 'phone':phone}
其中inputs
是您不同输入的列表