python如何从ex中获取字典的多键单值

2024-06-02 09:03:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张excel表格

   0 first     |second    |third      |root
   1 credible  |credulous |credibility|cred
   2 cryptogram|cryptology|cryptic    |crypt
   3 aquatic   |aquarium  |aqueduct   |aqua


我想从上述excel表中导入字典的键和值:
例如: 我已经编写了一个字典代码来存储这些值

   new_dict = {
    ('credible','credulous','credibility') : 'cred',
    ('cryptogram','cryptology','cryptic')   : 'crypt'
    }

因此,我不想为字典中的每个单词编写关键字和值,而是想从excel导入,其中前3列(即第一列、第二列、第三列)应该是关键字,最后一列(即根)将是字典的值。有可能吗?
对不起我的英语。
谢谢


Tags: 字典关键字excel表格firstsecondcredcrypt
2条回答

^{}^{}一起由前3列使用:

d = df.set_index(['first','second','third'])['root'].to_dict()
print (d)
{('credible', 'credulous', 'credibility'): 'cred',
 ('aquatic', 'aquarium', 'aqueduct'): 'aqua', 
 ('cryptogram', 'cryptology', 'cryptic'): 'crypt'}

使用^{}除了root之外,还为每个列(本例中的前三列)设置索引,然后调用^{}

df.set_index(df.columns.difference(['root']).tolist()).root.to_dict() 
{
    ('aquatic', 'aquarium', 'aqueduct')      : 'aqua',
    ('credible', 'credulous', 'credibility') : 'cred',
    ('cryptogram', 'cryptology', 'cryptic')  : 'crypt'
}

相关问题 更多 >