## openpyxl读取指定单元格内容的两种常用方式

1. 基于行列编号的cell()方法读取

这是最常用的精准读取方式,使用工作表对象.cell(row=行号, column=列号).value即可获取对应位置的单元格内容,其中行号、列号均从1开始计数,和Excel界面的行列编号规则完全一致。
示例代码:

import openpyxl

# 加载已存在的Excel文件
wb = openpyxl.load_workbook("测试文件.xlsx")
# 获取指定工作表,此处获取第一个工作表
ws = wb.worksheets[0]

# 读取第2行第3列(对应Excel的C2单元格)的内容
cell_value = ws.cell(row=2, column=3).value
print(cell_value)

如果需要批量读取指定范围的单元格,可以嵌套循环实现:

# 读取第1-5行、第1-4列的所有单元格内容
for i in range(1, 6):
    for j in range(1, 5):
        print(ws.cell(row=i, column=j).value, end=" ")
    print()
2. Excel坐标直接索引读取

也可以直接使用Excel原生的单元格坐标(如"A1"、“B3”)作为下标读取内容,写法更简单直观,适合已知单元格固定坐标的场景。
示例代码:

# 读取A1单元格内容
a1_value = ws["A1"].value
# 读取C4单元格内容
c4_value = ws["C4"].value
print(a1_value, c4_value)

总结

openpyxl读取指定单元格内容有两种通用方式:一是通过cell(row=行号, column=列号).value传入行列编号读取,适合动态指定行列位置的批量操作场景;二是直接通过工作表["单元格坐标"].value的方式读取,写法更简洁,适合固定单元格的内容获取。两种方式读取到的空单元格都会返回None,可以根据场景自行选择。

代码含义说明

pr1 = ws.cell(row=i, column=1).value 是Python使用openpyxl库操作Excel的典型代码,作用是获取指定工作表ws中第i行、第1列(对应Excel的A列)的单元格内容,并将内容赋值给变量pr1
其中行号、列号的计数均从1开始,和Excel界面的行、列编号规则一致。

结合示例表格的效果

以背景给出的表格为例:

  • i=1时,pr1的值为2019-4-1
  • i=3时,pr1的值为2019-4-5
  • i=5时,pr1的值为2019-4-10

常见使用场景

如果要遍历获取A列的所有内容,可以配合max_row属性实现,示例代码如下:

# 逐行读取A列所有数据
for i in range(1, ws.max_row + 1):
    pr1 = ws.cell(row=i, column=1).value
    print(pr1)

总结

ws.cell(row=i, column=1).value是openpyxl中精准获取指定行列单元格内容的方法,计数规则和Excel原生规则一致,配合行列遍历可以灵活实现表格内容的读取、统计等操作。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值