首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将两列转换为Python字典的最简单方法

将两列转换为Python字典的最简单方法
EN

Stack Overflow用户
提问于 2011-11-02 14:22:09
回答 3查看 3.6K关注 0票数 2

如何将以下信息放入Python字典-- http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html?键将是国家/地区,值将是两个字符的ISO代码。

例如,我希望结果为:

mapping_of_country_to_iso = {'AALAND ISLANDS':'AX','AFGHANISTAN':'AF',...} 
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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
票数 2
EN

Stack Overflow用户

发布于 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)

你会得到你想要的。

票数 3
EN

Stack Overflow用户

发布于 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文档,因为有几种使用此命令的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7976519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档