使用openpyxl如何获取单元格实际值而非<Cell 'Sheet1'.A2>对象?
解决openpyxl无法获取Excel单元格实际值的问题
哈哈,这个坑我刚接触openpyxl的时候也踩过!你现在打印的其实是Cell对象本身,而不是单元格里存储的实际内容——这就是为什么输出是Cell 'Hoja1'.A2,而不是你想要的3。
核心解决方法:访问Cell对象的.value属性
openpyxl中,通过sheet['A2']获取到的是代表该单元格的对象,要拿到里面的数值/文本,必须调用它的.value属性。修改你的代码如下:
import openpyxl book = openpyxl.load_workbook('Inputs.xlsx') sheet = book.active # 给单元格对象加上.value,就能拿到实际值了 print(sheet['A2'].value)
其他实用的取值方式
如果你更习惯用行号和列号来定位单元格,也可以这么写:
# 行号从1开始,列号1对应A列 print(sheet.cell(row=2, column=1).value)
要是你想批量获取A列所有数据(跳过标题行),还可以用迭代的方式:
# 遍历A列从第2行开始的所有单元格 for cell in sheet['A'][1:]: # sheet['A']是A列的所有单元格,[1:]跳过第一个标题单元格 print(cell.value)
这样就能得到你预期的3以及其他数值啦!
内容的提问来源于stack exchange,提问作者Carlos
相关产品推荐
相关产品推荐

