如何将以下信息放入Python词典 - http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html?键将是国家,值将是双字符ISO代码。
例如,我希望结果为:
mapping_of_country_to_iso = {'AALAND ISLANDS':'AX','AFGHANISTAN':'AF',...}
答案 0 :(得分:3)
如果你是python2.7 +,你可以使用字典理解
{k:v for k,v in list_of_tuples}
其中元组的每个成员的格式为("AALAND ISLANDS", "AX")
。这是更通用的解决方案,但对于您的方案可能不是必需的。
对于较旧的pythons,您只需使用元组列表作为参数调用字典构造函数。
dict(list_of_tuples)
你会得到你想要的东西。
答案 1 :(得分:2)
我只是将重要数据复制并粘贴到名为'countries.txt'的文本文件中,然后执行以下操作:
import string
myFilename = "countries.txt"
myTuples = []
myFile = open (myFilename, 'r')
for line in myFile.readlines():
splitLine = string.split (line)
code = splitLine [-3]
country = string.join(splitLine[:-3])
myTuples.append(tuple([country, code]))
myDict = dict(myTuples)
print myDict
这可能不是“最佳”方式,但它似乎有效。
这是遵循John Machin的有用建议:
import string
myFilename = "countries.txt"
myDict = {}
myFile = open (myFilename, 'r')
for line in myFile:
splitLine = string.split (line)
code = splitLine [-3]
country = " ".join(splitLine[:-3])
myDict[country] = code
print myDict
答案 2 :(得分:0)
如果我正确理解了您的问题,我相信df.to_dict()
函数将最有帮助。
假设您的国家/地区信息数据框称为df,首先(如果尚未)将“国家/地区”设置为索引。接下来,使用.to_dict()
函数。代码如下所示:
df = df.set_index('Country')
dict = df.to_dict('series')
'series'
只是组织字典的一种方法。我建议您查看.to_dict()的pandas文档,因为有多种使用此命令的方法。