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

使用Openpyxl向Excel列A首个空白单元格写入值报错求助

问题分析

报错AttributeError: 'NoneType' object has no attribute 'value'的核心原因是:当A列所有已存在的单元格都有值时,你的循环找不到空白单元格,empty_cell变量始终未被赋值,保持为None,后续访问empty_cell.value自然触发错误。

解决方案

我们需要先检查A列是否存在空白单元格,若不存在则直接在A列最后一行的下一行写入数据。以下是修正后的代码:

import openpyxl
var1 = "1"
var2 = "example"

# 加载目标工作簿
workbook = openpyxl.load_workbook('C:/Users/CJU3FE/Desktop/test.xlsx')
sheet = workbook.active

empty_cell = None
# 遍历A列所有已使用单元格,寻找第一个空白单元格
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=1, max_col=1):
    for cell in row:
        if cell.value is None:
            empty_cell = cell
            break
    if empty_cell is not None:
        break  # 找到目标后立即终止遍历,提升效率

# 若A列无空白单元格,直接定位到最后一行的下一行A列
if empty_cell is None:
    empty_cell = sheet.cell(row=sheet.max_row + 1, column=1)

# 写入变量到对应位置
empty_cell.value = var1
next_cell = empty_cell.offset(column=1)
next_cell.value = var2

# 保存文件(可修改路径实现备份,同名则覆盖原文件)
workbook.save('C:/Users/CJU3FE/Desktop/test.xlsx')
关键改动说明
  • 增加empty_cell的空值判断,覆盖A列无空白单元格的场景,自动定位到下一行写入
  • 找到第一个空白单元格后立即终止循环,避免不必要的遍历
  • 保存路径与原文件一致,避免文件保存到默认目录导致找不到

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 23:03:18