如何将以下信息放入Python字典-- http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html?键将是国家/地区,值将是两个字符的ISO代码。
例如,我希望结果为:
mapping_of_country_to_iso = {'AALAND ISLANDS':'AX','AFGHANISTAN':'AF',...}
发布于 2011-11-02 14:53:56
我只是将重要的数据复制并粘贴到一个名为'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
发布于 2011-11-02 14:36:37
如果你是python2.7+用户,你可以使用字典理解
{k:v for k,v in list_of_tuples}
其中元组的每个成员都是("AALAND ISLANDS", "AX")
形式的。这是更通用的解决方案,但对于您的场景可能不是必需的。
对于较老的python,可以简单地使用元组列表作为参数来调用字典构造函数。
dict(list_of_tuples)
你会得到你想要的。
发布于 2018-06-24 06:31:30
如果我没理解错你的问题,我相信df.to_dict()
函数会很有帮助。
假设您的国家信息数据框架名为df,首先(如果它还没有),将' country‘设置为index。接下来,使用.to_dict()
函数。下面是代码应该是什么样子:
df = df.set_index('Country')
dict = df.to_dict('series')
'series'
只是组织字典的方法之一。我建议您查看.to_dict()的pandas文档,因为有几种使用此命令的方法。
https://stackoverflow.com/questions/7976519
复制相似问题