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

如何使用Python包读取Excel文件并获取单元格值而非公式

Python读取Excel单元格实际值(非公式)实现方案

方案1:openpyxl库(适用于xlsx格式)

openpyxl是常用的xlsx文件处理库,默认读取会返回公式,需在加载文件时开启data_only参数获取计算后的值。

  • 安装命令:pip install openpyxl
  • 代码示例:
from openpyxl import load_workbook

# 加载文件时指定data_only=True,读取单元格预计算后的存储值
wb = load_workbook("测试文件.xlsx", data_only=True)
# 选择指定工作表
ws = wb["Sheet1"]

# 读取单个单元格值
print(ws["A1"].value)

# 遍历所有单元格取值
for row in ws.iter_rows(values_only=True):
    print(row)
  • 注意事项:
    • 需保证Excel文件曾被Office/WPS等办公软件打开并保存过,否则公式未完成预计算,data_only=True会返回None
    • 仅支持.xlsx格式文件,不兼容旧版.xls格式

方案2:pandas库(适用于批量数据读取)

pandas内置的Excel读取方法默认会返回单元格计算后的实际值,不需要额外处理公式,适合批量处理表格数据的场景。

  • 安装命令:pip install pandas openpyxl
  • 代码示例:
import pandas as pd

# 直接读取即可返回实际值,无需额外参数
df = pd.read_excel("测试文件.xlsx", sheet_name="Sheet1")
print(df)
  • 注意事项:
    • 若需要读取.xls格式文件,需额外安装低版本xlrd:pip install xlrd==1.2.0(更高版本xlrd已取消对xls格式的支持)

方案3:xlwings库(适用于未预计算的Excel文件)

如果Excel文件的公式从未被办公软件计算过,前两种方案无法获取值时,可以用xlwings调用本地办公软件实时计算公式,返回准确结果。

  • 安装命令:pip install xlwings
  • 代码示例:
import xlwings as xw

# 后台启动Excel程序,不弹出界面
app = xw.App(visible=False, add_book=False)
wb = app.books.open("测试文件.xlsx")
ws = wb.sheets["Sheet1"]

# 读取单个单元格值
print(ws.range("A1").value)
# 读取整个工作表的已使用区域数据
print(ws.used_range.value)

# 用完关闭资源,避免后台残留Excel进程
wb.close()
app.quit()
  • 注意事项:
    • 依赖本地安装的Office/WPS软件,不适用于无桌面环境的服务器
    • 读取速度慢于前两种方案,仅适合公式复杂、小批量读取的场景

内容的提问来源于stack exchange,提问作者MOSES NOKNAN JOHN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 23:45:07