解决Python编程快速上手P239中openpyxl模块无charts属性的报错问题

自学《Python 编程快速上手》P239 的内容,在运行如下代码时,程序出现了报错。

解决Python编程快速上手P239中openpyxl模块无charts属性的报错问题

import openpyxl, os
os.chdir("C:\\")
wb = openpyxl.Workbook()
sheet  = wb.active
创建列 A 中的一些数据,范围是从 1 到 10,通过 for 循环来实现,循环变量 i 从 1 开始,到 10 结束。
sheet 的 ['A' + 字符串(i)] 等于 i 。
使用 openpyxl.charts.Reference 函数,传入 sheet 参数以及坐标范围 (1,1) 到 (10,1),将其赋值给 refObj 。
seriesObj 是通过 openpyxl.charts.Series 函数创建的,其引用对象为 refObj,标题为“First series”。
chartObj 是 openpyxl.charts 库中的 BarChart 对象。
chartObj.append(seriesObj)
图表对象的绘图的顶部被设定为 50 。
chartObj.drawing.left = 100
chartObj 的绘图宽度被设置为 300 。  设定其尺寸为 300 。  将 chartObj 的绘图宽度设为 300 。  把 chartObj 的绘图宽度调整为 300 。  让 chartObj 的绘图宽度等于 300 。  为 chartObj 的绘图宽度赋予 300 的值 。  使 chartObj 的绘图宽度变为 300 。  把 chartObj 的绘图宽度设定成 300 。  让 chartObj 的绘图宽度达到 300 。  给 chartObj 的绘图宽度设定为 300 。  使 chartObj 的绘图宽度定在 300 。  让 chartObj 的绘图宽度处于 300 。  把 chartObj 的绘图宽度确定为 300 。
chartObj.drawing.height = 200
sheet.add_chart(chartObj)
wb 将文件保存为“sampleChart.xlsx”。

错误提示表明,在模块“openpyxl”中不存在“charts”这个属性。

问题分析:openpyxl 在后续的版本当中进行了适当的修改。同时,本书原著的作者也针对该章节进行了修改,具体可查看链接:点击打开链接。

问题解决:修改后的代码如下。

import openpyxl, os
os.chdir("C:\\")
wb = openpyxl.Workbook()
sheet  = wb.active
for i in range(1, 11):            # Create some data in column A
    sheet['A' + str(i)] = i
refObj 是通过 openpyxl.chart.Reference 函数创建的,它的起始行是 1,起始列是 1,结束行是 10,结束列是 1,并且是基于指定的 sheet 进行操作的。
seriesObj 是通过 openpyxl.chart.Series 函数创建的,它的引用对象是 refObj,标题为 'First series'
chartObj 是 openpyxl.chart 模块中的 BarChart 对象。
chartObj 的标题为 'My Chart' 。
chartObj.append(seriesObj)
在 sheet 中添加图表 chartObj,位置为 'C5'
wb.save('sampleChart.xlsx')

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

26阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读