为什么从openpyxl导入PieChart时出现ImportError: cannot import name 'PieChart'错误
问题原因
你代码里一共存在3处错误导致无法正常生成饼图:
- 销量数据使用了字符串格式:你定义的
sold列值都加了单引号,属于字符串类型,Excel图表无法识别字符串作为数值统计源 - 数据引用列错误:你指定数据区域时用了
min_col=1,引用的是第一列的口味文本列,实际存储销量的是第二列 titles_from_data参数配置错误:你引用的数据范围从第二行开始,未包含表头行,不需要开启该参数
修正后代码
import openpyxl from openpyxl import PieChart, Reference wb = openpyxl.Workbook() ws = wb.active # 去掉销量值的引号,改成纯数字 data = [ ['Flavor', 'Sold'], ['Vanilla', 1500], ['Chocolate', 1600], ['Strawberry', 600], ['Pumpkin Spice', 950] ] for rows in data: ws.append(rows) chart = PieChart() # 标签引用第一列2-5行无问题 labels = Reference(ws, min_col=1, min_row=2, max_row=5) # 数据改为引用第二列的销量数据 data_ref = Reference(ws, min_col=2, min_row=2, max_row=5) chart.add_data(data_ref) chart.set_categories(labels) chart.title = 'Ice Cream By Flavor' ws.add_chart(chart, 'C1') wb.save('Pie1.xlsx')
内容的提问来源于stack exchange,提问作者Jonas
相关产品推荐
相关产品推荐

