-1

我有一个 CSV,其中有一列名为 availableexits。因此它的数据是:'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 。

我有一种感觉,我这样做是一个可怕的人。有什么更好的方法。

4

1 回答 1

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(',')))
于 2013-08-07T01:40:37.270 回答