You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas读取Excel指定单元格?及OpenPyXL读取值问题

解决Excel指定单元格读取问题

一、修正Pandas代码的错误

pd.read_excel()返回的是DataFrame对象,不是OpenPyXL那样的工作簿实例,所以不存在.active属性。要读取H6单元格,可通过以下两种方式实现:

  • 通过行列索引定位(Excel行列从1开始,DataFrame从0开始计数):

    import pandas as pd
    
    excel_file = './docs/fruit.xlsx'
    df = pd.read_excel(excel_file, sheet_name='Overzicht')
    # H列对应第7个列索引,6行对应第5个行索引
    x1 = df.iloc[5, 7]
    print(x1)
    
  • 通过列名和行标签定位(适用于工作表有表头的情况):
    假设H列的表头为对应的名称,比如"目标列",则:

    x1 = df.loc[5, "目标列"]
    

二、修正OpenPyXL代码的问题

你的代码存在两个问题:一是列索引写错(H列是第8列,你写的column=9对应I列);二是默认加载工作簿时只会读取公式本身,不会读取计算后的值。修正后的代码如下:

import openpyxl

path = "./docs/fruit.xlsx"
# 设置data_only=True,读取公式计算后的结果
wb_obj = openpyxl.load_workbook(path, data_only=True)
# 直接指定目标工作表,避免依赖默认活跃表
sheet_obj = wb_obj['Overzicht']
# H6对应row=6,column=8
cell_obj = sheet_obj.cell(row=6, column=8)
print(cell_obj.value)

注意:data_only=True只能读取Excel文件最后一次保存时已计算好的值,如果文件关闭前没保存公式计算结果,可能会返回None或公式本身,需确保文件保存时已完成公式计算。

内容的提问来源于stack exchange,提问作者mightycode Newton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 18:57:43