这是我的第一个问题,如果我犯了一些解释错误,请提前抱歉。
我正在使用 python 2.7 进行编码。 我编写了一个 .xlsx (Excel) 文件(它可能是一个 .xls,此时我真的不需要宏 + VBA)。 Excel 文件如下所示:
这些值与列名和行名链接。例如,我有一个名为“曲线 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/