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

Python使用openpyxl向xlsx文件写入数据报错如何解决

错误原因
  • template_wb.sheetnames[0]返回的是第一个工作表的名称字符串,并非可操作的工作表对象,对字符串执行下标赋值操作自然会触发'str' object does not support item assignment类型错误。
  • 原代码中template_wb.save()没有传入要保存的文件路径,后续运行也会触发参数缺失报错。
修正后代码
from openpyxl import load_workbook
template_wb = load_workbook(r'E:\test.xlsx')
# 直接通过worksheets属性获取第一个工作表对象
template_ws = template_wb.worksheets[0]
template_ws['B4'] = 'test data'
# 保存时传入目标文件路径,也可以另存为其他路径
template_wb.save(r'E:\test.xlsx')
template_wb.close()
补充写法

如果你需要先获取工作表名称再取对应工作表,可以用以下写法:

from openpyxl import load_workbook
template_wb = load_workbook(r'E:\test.xlsx')
# 先取第一个工作表的名称
first_sheet_name = template_wb.sheetnames[0]
# 用工作簿对象+工作表名称取对应的工作表对象
template_ws = template_wb[first_sheet_name]
template_ws['B4'] = 'test data'
template_wb.save(r'E:\test.xlsx')
template_wb.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:15:03