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

openpyxl调用BarChart的add_data方法报TypeError如何解决?

问题原因

你没有对BarChart类进行实例化,直接将类本身赋值给了chart变量。调用实例方法add_data时,Python会默认要求传入实例本身作为第一个位置参数(也就是self),你传入的values被识别为self参数,因此系统提示缺少必填的data参数。

修复方案

只需要将chart = BarChart改为chart = BarChart()即可,实例化类之后调用方法就会自动传入实例作为self参数,不需要手动补充其他参数。

修复后完整代码:

import openpyxl as xl
from openpyxl.chart import BarChart, Reference

wb = xl.load_workbook('transactions.xlsx')
sheet = wb['Sheet1']

for row in range (2, sheet.max_row + 1):
    cell = sheet.cell (row, 3)
    correct_price = cell.value * 0.9
    correct_price_cell = sheet.cell (row, 4)
    correct_price_cell.value = correct_price

values = Reference (sheet, min_row=2, max_row=sheet.max_row, min_col=4, max_col=4)

# 实例化BarChart类
chart = BarChart()
chart.add_data(values)
sheet.add_chart (chart, 'e2')

wb.save('transcations2.xlsx')

内容的提问来源于stack exchange,提问作者Or Zemer Tov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:39:02