我有一个名为availableexits的列的CSV。因此,其数据为:'N = 1,E = 4,S = 7'
我想把它放在一个字典中,所以看起来像:
d = {'N':1, 'E':4, 'S':7}
(如果你有答案就停在那里,下面只是说明我现在是怎么做的)
目前我将列数据读作字符串:
'N=1,E=4,S=7'
然后我将它拆分为逗号g = d.split(“,”)
g = ['S=1', 'W=3', 'N=4']
然后我将=
上的每一个分开h = []
for x in g :
h.append(x.split("="))
#h is now [['N', '1'], ['E', '3'], ['S', '4']]
然后施放为字典
e = dict(h) #looks very German
#e is now {'S': '1', 'W': '3', 'N': '4'}
我在使用它时只是将值转换为int。
我有一种感觉,我这样做是一个可怕的人。什么是更好的方式。
答案 0 :(得分:2)
你可以使用理解:
s='N=1,E=4,S=7'
dict(t.split('=') for t in s.split(','))
您可以更进一步制作值ints
:
dict((a,int(b)) for a,b in (t.split('=') for t in s.split(',')))