以下是我的源代码。
# -*- coding: utf-8 -*-
# 主题:自动化办公excel处理及数据分析
# 主题:1、怎么创建表格 2、添加元素 3、取出元素 4、设置颜色
# 学生: 邓文标
from openpyxl import Workbook #导入excel工具包模块
from openpyxl.chart import PieChart,Reference #导入饼图及填充模块
#import openpyxl
#--------------1、怎么创建表格---------------------
#创建一个excel文件
wb = Workbook() #注意是大写的W,创建一个表格
cs1 = wb.create_sheet('我是生命1号') #在表格中创建表,如果要查函数参考信息ctrl+左键
cs2 = wb.create_sheet('我是生命2号')
cs3 = wb.create_sheet('我是生命3号')
cs4 = wb.create_sheet('我是生命4号',2)
#--------------2、添加元素-----------------------
#添加数据(注意在写数据是不能打开excel文档,否则会无法运行)
cs4['a1'] = 666
cs4['b1'] = 777
cs4['c2'] = '邓文标'
#添加多个数据(一行多列)
num = [1,2,3,4,5,6,7,8,9]
cs4.append(num)
#添加3列,然后再添加5行(相当于添加一个小表格多行多列)
data = [
['城市名称','GDP','管理者'],
['长沙',11,'张三'],
['广州',22,'李四'],
['北京',33,'王五'],
['上海',44,'马六'],
]
#通过for循环添加到表中
for name in data:
#按行添加
cs3.append(name) #注意本行要缩进不能顶格
#----------------数据分析开始----------------------
"""python的块注释"""
#模具(数据分析饼状图)
pie = PieChart()
pie.title = '论时间的重要性'
#计算数据的表头
label = Reference(cs3,min_col=1,min_row=2,max_row=5)
#数据
datas = Reference(cs3,min_col=2,min_row=2,max_row=5)
#将饼图添加到cs3的a10位置
cs3.add_chart('a10')
"""pie.add_data(datas)
pie.set_categories(label)
"""
#----------------数据分析结束----------------------
#--------------3、取出元素-----------------------
#取表中的数(单行或单列取值)
#for name in cs4['1']: #第一行行用数字,列用字母如第一列就用'a'
#print(name.value)
#取表中的数用for循环嵌套
#方式一按多行或多列取值cs4['1':'3']或cs4['a':'c']
#方式二取表中的数(根据指定范围取数)如cs4['a2':'f3']
for name in cs4['a':'c']:
print(name)
for item in name:
print(item.value)
#--------------4、设置颜色-----------------------
#RGB颜色值转换成十六进制颜色码网址https://www.sioe.cn/yingyong/yanse-rgb-16/
cs1.sheet_properties.tabColor = 'FFFF00' #纯黄(注意是十六进制的,因此不能是#FFFF00)
cs2.sheet_properties.tabColor = '00B400' #绿色
cs3.sheet_properties.tabColor = 'FFC0CB' #粉红
cs4.sheet_properties.tabColor = '0000FF' #纯蓝
wb.save('D:\pycharmProjects\pythonProjectdemo\dwb.xlsx') #将表格保存,不写路径就是当前路径
报错信息
D:\Python38\python.exe D:/pycharmProjects/pythonProjectdemo/自动化办公excel文件处理.py
(<Cell '我是生命4号'.A1>, <Cell '我是生命4号'.A2>, <Cell '我是生命4号'.A3>)
666
None
1
(<Cell '我是生命4号'.B1>, <Cell '我是生命4号'.B2>, <Cell '我是生命4号'.B3>)
777
None
2
(<Cell '我是生命4号'.C1>, <Cell '我是生命4号'.C2>, <Cell '我是生命4号'.C3>)
None
邓文标
3
Traceback (most recent call last):
File "D:/pycharmProjects/pythonProjectdemo/自动化办公excel文件处理.py", line 70, in <module>
wb.save('D:\pycharmProjects\pythonProjectdemo\dwb.xlsx') #将表格保存,不写路径就是当前路径
File "D:\Python38\lib\site-packages\openpyxl\workbook\workbook.py", line 392, in save
save_workbook(self, filename)
File "D:\Python38\lib\site-packages\openpyxl\writer\excel.py", line 293, in save_workbook
writer.save()
File "D:\Python38\lib\site-packages\openpyxl\writer\excel.py", line 275, in save
self.write_data()
File "D:\Python38\lib\site-packages\openpyxl\writer\excel.py", line 75, in write_data
self._write_worksheets()
File "D:\Python38\lib\site-packages\openpyxl\writer\excel.py", line 218, in _write_worksheets
self._write_drawing(ws._drawing)
File "D:\Python38\lib\site-packages\openpyxl\writer\excel.py", line 136, in _write_drawing
chart._id = len(self._charts)
AttributeError: 'str' object has no attribute '_id'
Process finished with exit code 1。
相似问题