Python:使用excel文件中的数据创建字典

标签 python excel python-2.7 dictionary

我是 Python 和编程的新手,我有一个我无法解决的问题。 我有一个包含 3 列的 excel 文件:

Id      Object     kg
1142     Apple     17,5
1142     Banana    13,55
1142     Kiwi      52,3
1255     Apple     77,38
1255     Banana    99,42
1255     Kiwi      128,35

我想创建一个字典,它以 Id 和 Object 为键,以 kg 为值(例如 {(1142, Apple) : 17,5, (1142, Banana) : 13,55, ...

有没有办法创建这样的字典?我应该导入什么模块?提前致谢!

最佳答案

你可以在上面使用 pandas。我会这样做:

import pandas as pd

d = pd.read_excel(r"excel_file.xlsx",index_col=[0,1]).to_dict(orient='index')
for key in d:
    d[key] = d[key].values()[0]

print d

输出是这样的:

{(1255L, u'Kiwi'): 128.34999999999999, (1142L, u'Apple'): 17.5, (1255L, u'Apple'): 77.379999999999995, (1142L, u'Banana'): 13.550000000000001, (1255L, u'Banana'): 99.420000000000002, (1142L, u'Kiwi'): 52.299999999999997}

关于Python:使用excel文件中的数据创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44072950/

相关文章:

excel - 如何在Excel的数据模型中创建多对多关系?

excel - 将数字添加到唯一但无序的数字列表 - 工作表更改

python lxml 3.3.5 - 加载代码时出错 - "ValueError: lxml.etree._Element has the wrong size, try recompiling"

python - 创建时如何使Django模型运行某些功能

python - 为什么我在使用 scikit-image hog 和 OpenCV hog 时没有得到相同的特征描述?

Python 嵌套生成器

值超过阈值时的python平均数组(如果平均)

python - 语法错误: unexpected EOF while parsing (python blockchain)

arrays - 将执行时定义的一系列单元格复制到数组

python - StaleElementReferenceException selenium webdriver python