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

如何在表格位置变动时仍读取并显示C3:C6区域的值?

如何在表格位置变动时读取指定内容区间的C列值

核心思路是通过内容定位行号,而非硬编码单元格位置,这样即使表格行位置变动,只要x1和x4的内容存在,就能准确读取对应C列区间的值。

解决方案代码

from openpyxl import load_workbook

wb_load = load_workbook("HighSchool.xlsx")
sheet_wb = wb_load["Sheet1"]

x1_row = None
x4_row = None

# 遍历单元格,定位x1和x4所在行
for row in sheet_wb.iter_rows():
    for cell in row:
        if cell.value == "x1":
            x1_row = cell.row
        elif cell.value == "x4":
            x4_row = cell.row
    # 找到目标行号后提前终止循环,提升效率
    if x1_row and x4_row:
        break

# 读取并输出C列对应区间的值
if x1_row and x4_row:
    print("C列x1到x4区间的值:")
    # 仅遍历C列(第3列)的指定行范围
    for cell in sheet_wb.iter_rows(min_row=x1_row, max_row=x4_row, min_col=3, max_col=3):
        print(cell[0].value)
else:
    print("未找到x1或x4,请检查表格内容")

关键说明

  1. 直接获取行号:使用cell.row代替解析坐标字符串,更简洁可靠,无需处理类似"C3"这样的字符串拆分。
  2. 精准遍历区间:通过iter_rows的min_row/max_row/min_col/max_col参数,只读取需要的C列区间,避免遍历整个表格。
  3. 提前终止循环:找到x1和x4的行号后立即退出循环,减少不必要的计算。
  4. 异常处理:增加判断逻辑,防止因找不到目标内容导致后续代码报错。

内容的提问来源于stack exchange,提问作者Cebuc Alexandru Bogdan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:20:52