python - 读取 .xlsx 并访问单元格值,但不按其位置

标签 python excel python-2.7 pandas

这是我的第一个问题,如果我犯了一些解释错误,请提前抱歉。

我正在使用 python 2.7 进行编码。 我编写了一个 .xlsx (Excel) 文件(它可能是一个 .xls,此时我真的不需要宏 + VBA)。 Excel 文件如下所示:

Excel screenshot

这些值与列名和行名链接。例如,我有一个名为“曲线 1”的列和一个名为“极值数”的行。因此,如果 curve1 有 1 个极值,则在该单元格中我写“1”。 我想获取这个值以便在 python 脚本中操作它。 我知道我可以将 xlrd 模块与打开的工作簿一起使用,并将第 1 行的值(“极值数”)放入列表中,然后只取第一个值(对应于“曲线 1”列,因此对应于我想要的值“1”),但这不是我想要的。

相反,我想通过仅向 python 脚本提供字符串“曲线 1”和“极值数”来访问“1”单元格值,并且 python 将在两者相遇时访问该单元格并采取它的值:“1”。是否可以 ?

我想这样做,因为 Excel 文件会及时更改并且单元格可以移动。因此,如果我尝试通过单元格值的“位置号”(如第 1 行、第 1 列)访问单元格值,如果在此位置添加列或行,我就会遇到问题。如果 xlsx 文件中有一些编辑,我不想再次编辑 python 脚本。

非常感谢。

最佳答案

Pandas是一个流行的第三方库,用于读取/写入数据集。您可以使用pd.DataFrame.at通过行和列标签进行有效的标量访问:

import pandas as pd

# read file
df = pd.read_excel('file.xlsx')

# extract value
val = df.at['N of extremum', 'Curve 1']

关于python - 读取 .xlsx 并访问单元格值,但不按其位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52741845/

相关文章:

python - __str__ 返回 UnicodeEncodeError,但在其他方面有效 (u'\xa0')

python - 仅删除 alpha 重复项

python - 有没有办法更改 Python 图像库 (PIL) 的默认填充颜色?

python - 如果数据来自文件excel或csv,如何使用stopword sastrawi库python

java - 我可以使用java将excel电子表格保存为jpg吗?

excel - 自动填充另一张表中的数据

python - Pandas - 解析带和不带毫秒的时间数据

python - 使用 SMTP 库通过 python 发送电子邮件

Python所有iterables匹配条件

python-2.7 - Pandas 0.18.1 groupby 和重采样多级聚合错误