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

使用openpyxl写入Excel单元格报错AttributeError: setitem,如何解决?

解决openpyxl中AttributeError: setitem的问题

嘿,这个问题我之前也踩过坑!你出错的原因很简单——你直接在Workbook对象上操作单元格了,但openpyxl要求必须先定位到具体的工作表(Worksheet)才行。

错误原因拆解

load_workbook返回的wb是Workbook实例,它代表整个Excel文件,本身并不支持像wb['A1']这样直接赋值单元格的操作,所以才会抛出AttributeError: setitem的错误。你需要先获取到文件里的某个工作表,再对工作表进行单元格赋值。

修改后的代码

from openpyxl import load_workbook

def readInWorkbook(): 
    wb = load_workbook(filename = 'myTracker.xlsx') 
    # 获取当前激活的工作表(默认是第一个工作表)
    ws = wb.active
    # 或者指定具体工作表名称,比如你的表叫"Sheet1"
    # ws = wb['Sheet1']
    ws['A1'] = 'HEY we made it' 
    wb.save('myTracker.xlsx') 
    print("After save")

补充说明

  • 如果你的Excel文件里有多个工作表,记得用wb['工作表名称']来指定你要操作的表,避免修改错工作表。
  • 操作完成后一定要调用wb.save()保存更改,不然你的修改不会写入到文件里哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 10:07:24