我有一张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列(即第一,第二,第三)应该是键,最后一列(即根)将是a的值字典。有可能吗?
对不起我的英语不好。
感谢
答案 0 :(得分:1)
使用set_index
为每个列设置索引(在本例中为前三个)除了 root
,然后调用root.to_dict
:
df.set_index(df.columns.difference(['root']).tolist()).root.to_dict()
{
('aquatic', 'aquarium', 'aqueduct') : 'aqua',
('credible', 'credulous', 'credibility') : 'cred',
('cryptogram', 'cryptology', 'cryptic') : 'crypt'
}
答案 1 :(得分:1)
使用set_index
前三列的Series.to_dict
:
d = df.set_index(['first','second','third'])['root'].to_dict()
print (d)
{('credible', 'credulous', 'credibility'): 'cred',
('aquatic', 'aquarium', 'aqueduct'): 'aqua',
('cryptogram', 'cryptology', 'cryptic'): 'crypt'}