将字符串行转换为字典

我有一个这样的初始代码:

record = "Jane,Doe,25/02/2002;
          James,Poe,19/03/1998;
          Max,Soe,16/12/2001
          ..."

我需要把它变成一个字典,它的输出应该是这样的:

{'First name': 'Jane', 'Last name': 'Doe', 'Birthday': '25/02/2002'}
{'First name': 'James', 'Last name': 'Poe', 'Birthday': '19/03/1998'}
...

每行应该有一个从 1 开始的递增键。

我目前不知道解决这个问题,因为我仍然是一个没有经验的学生。

我见过人们将它用于包含键值对的字符串,但我的字符串不包含这些:

mydict = dict((k.strip(), v.strip()) for k,v in 
              (item.split('-') for item in record.split(',')))

回答

使用split

In [220]: ans = []

In [221]: record = "Jane,Doe,25/02/2002;James,Poe,19/03/1998;Max,Soe,16/12/2001"
In [223]: l = record.split(';')

In [227]: for i in l:
     ...:     l1 = i.split(',')
     ...:     d = {'First Name': l1[0], 'Last Name': l1[1], 'Birthday': l1[2]}
     ...:     ans.append(d)
     ...: 

In [228]: ans
Out[228]: 
[{'First Name': 'Jane', 'Last Name': 'Doe', 'Birthday': '25/02/2002'},
 {'First Name': 'James', 'Last Name': 'Poe', 'Birthday': '19/03/1998'},
 {'First Name': 'Max', 'Last Name': 'Soe', 'Birthday': '16/12/2001'}]


以上是将字符串行转换为字典的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>