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

使用openpyxl跨工作表追加数据时输出异常的问题排查

问题根源

你代码里的行号计算完全错了:

  • iter_rows(min_row=5)是从第5行开始遍历,但循环里的i是从0开始的索引,你用i+1当行号去取第一列值,实际拿的是第1、2、3...行的内容,根本不是当前正在遍历的行。这就导致判断条件完全跑偏,自然漏取目标行、误抓无关行。
修正代码
LU = "Gilford"

# 直接从遍历的行里取第一列的值做判断,不用再额外查行号
for row in sourcews2.iter_rows(min_row=5, min_col=1, max_col=33):
    if row[0].value == LU:
        destinationws.append([cell.value for cell in row])
额外说明

要是你非得保留enumerate的索引,行号得这么算:5 + i(因为min_row是5,i从0开始),但完全没必要多此一举,直接从当前row里拿第一列的cell值最靠谱。原代码里sourcews2.cell(row=i+1, column=1)完全脱离了遍历的行范围,才会搞出取到Gray行的乌龙。

内容的提问来源于stack exchange,提问作者S. Price

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 18:12:06