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

使用openpyxl简便读取Excel工作表全部内容的方法咨询

解决方案

openpyxl 的 Worksheet 对象内置了values属性,可直接迭代获取工作表所有行的单元格值,无需手动遍历每个单元格,完全满足单元测试的快速取值需求。

使用示例

  1. 基础读取代码
# filename为目标Excel文件路径
wb = load_workbook(filename)
sheet = wb.active

# 直接读取全部内容,转换为列表后每一项对应一行,行内元素为对应单元格的值,空单元格为None
sheet_content = list(sheet.values)

wb.close()
  1. 单元测试断言示例
    拿到的sheet_content是嵌套的元组结构,可直接和预期结果做全等判断:
# 预期结果示例,按实际场景修改即可
expected_content = [
    ("列1", "列2", "列3"),
    ("测试值1", 100, None),
    ("测试值2", 200, "备注")
]

assert sheet_content == expected_content

常见场景适配

  • 若需要读取公式计算后的结果而非公式本身,加载工作簿时添加data_only=True参数:
    wb = load_workbook(filename, data_only=True)
    
  • 若需要过滤全为空的行,可对结果做简单筛选:
    sheet_content = [row for row in sheet.values if any(cell is not None for cell in row)]
    

额外说明

你之前调用sheet.read()拿到工作表名称信息,是因为openpyxl的Worksheet类本身没有read方法,调用不存在的方法时触发了对象的默认字符串序列化规则,才输出了类名+工作表名的内容。

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

相关产品推荐
方舟 Agent Plan

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

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