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

为何openpyxl无法直接追加元组列表?

解决openpyxl sheet.append()追加元组列表报错问题

问题原因

openpyxl的sheet.append()方法要求传入单个行的数据(比如单个元组或列表),你直接传入包含多个元组的列表时,它会把每个元组当作单个单元格的内容尝试转换,所以触发错误:无法将('MARVIN VILLA', '440.00')转换为Excel内容。

解决方法

不需要显式写for循环的话,可以用map()函数批量处理每个元组:

wb = load_workbook(filename=fullPath)
sh = wb['Ledger']
p = [('MARVIN VILLA', '440.00'), ('ALVIN D GARCIA', '250.00'), ('ALEX JONES', '350.00')]
# 用map把每个元组传入append方法
list(map(sh.append, p))
wb.save(fullPath)
wb.close()

如果觉得map写法不够直观,也可以用列表推导式实现隐式循环:

[sh.append(row) for row in p]

补充说明

openpyxl没有直接接收多行数据的append方法,必须逐行传入。上面两种写法都是规避显式for循环的方式,本质还是遍历每个元组作为单独行追加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:52:02