学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码!
今天是学Python的第24天,学的内容是python对Excel的操作。开学了,时间不多,写得不详细,见谅。
目录
1.插件介绍
这章介绍的是openpyxl插件。openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。它提供了一系列简单易用的函数和方法,让我们可以轻松地操作 Excel 文件,包括读取、写入、修改单元格内容、设置格式等。
2.安装 openpyxl
在使用 openpyxl 之前,我们需要先安装它。可以通过以下命令使用 pip 进行安装:
pip install openpyxl
安装完成后,我们就可以在 Python 代码中导入 openpyxl 库了
3.读取Excel文件内容
(1).加载一个工作簿
语法:openpyxl.load_workbook
(2).获取工作表名称
语法:wb.sheetnames
(3).获取具体的工作表
语法:wb.worksheets[0]
(4).获取单元格的范围
语法:sheet.dimensions
(5).获取工作表的行数和列数
语法:sheet.max_row,sheet.max_column
(6).获取指定单元格的值
语法:sheet['XX'].value
(7).获取多个单元格的数据
1.enumerate( )方法
注意:用enumerate包装一迭代对象,可以同时使用索引和迭代项,在迭代的同时获得迭代项所在的位置时,才能使结果不是元组!
2. 双层循环
(8).读取单元格中所有的数据
4.写入Excel文件
(1).创建工作薄
语法:openpyxl.Workbook()
(2).添加工作表
# 第二步:添加工作表
sheet = wb.active
sheet.title = "笔试成绩"
titles = ["姓名","骑马","射箭","举重"]
for col_index,title in enumerate(titles):
sheet.cell(1,col_index+1,title)
names = ("魏延","吕布","许褚","夏侯惇","黄盖")
for row_index,name in enumerate(names):
sheet.cell(row_index+2,1,name)
for col_index in range(2,5):
sheet.cell(row_index+2,col_index,random.randrange(50,101))
(3).保存工作簿
wb.save("../pycharm测试文件/test64附件-三国擂台赛成绩.xlsx")
(4).结果
5.插入图表
(1).导入模块
# 导入模块
from openpyxl import workbook
from openpyxl.chart import BarChart, Reference # 画图
from openpyxl.workbook import Workbook
(2).创建对象
wb = Workbook(write_only=True)
(3).创建一个工作表
sheet = wb.create_sheet()
(4).导入数据(元组形式导入)
rows = [
('类别','销售A组','销售B组'),
('手机',40,30),
('平板电脑',50,60),
('笔记本',80,70),
('VR眼镜',20,10)
]
(5).向表单中添加行
for row in rows:
sheet.append(row)
(6).创建图片对象
chart = BarChart()
chart.type = 'col'
chart.style = 10
(7).设置图表的标题
chart.title = "销售统计图"
(8).设置图表标题
# 设置图表纵轴的标题
chart.y_axis.title = "销量"
# 设置图表横轴的标题
chart.x_axis.title = "商品类别"
(9).设置数据的范围
data = Reference(sheet, min_col=2, min_row=1, max_row=5,max_col=3)
(10).设置分类的范围
cats = Reference(sheet, min_col=1, min_row=2, max_row=5)
(11).给图表添加数据
chart.add_data(data,titles_from_data=True)
(12).给图表设置分类
chart.set_categories(cats)
chart.shape = 4
(13).将图标插入到工作表中指定的单元格
sheet.add_chart(chart,'A10')
(14).保存
wb.save('../pycharm测试文件/test66附件-销量统计表.xlsx')
(15).总代码
# 导入模块
from openpyxl import workbook
from openpyxl.chart import BarChart, Reference # 画图
from openpyxl.workbook import Workbook
# 创建对象
wb = Workbook(write_only=True)
# 创建一个工作表
sheet = wb.create_sheet()
# 导入数据(元组形式导入)
rows = [
('类别','销售A组','销售B组'),
('手机',40,30),
('平板电脑',50,60),
('笔记本',80,70),
('VR眼镜',20,10)
]
# 向表单中添加行
for row in rows:
sheet.append(row)
# 创建图片对象
chart = BarChart()
chart.type = 'col'
chart.style = 10
# 设置图表的标题
chart.title = "销售统计图"
# 设置图表纵轴的标题
chart.y_axis.title = "销量"
# 设置图表横轴的标题
chart.x_axis.title = "商品类别"
# 设置数据的范围
data = Reference(sheet, min_col=2, min_row=1, max_row=5,max_col=3)
# 设置分类的范围
cats = Reference(sheet, min_col=1, min_row=2, max_row=5)
# 给图表添加数据
chart.add_data(data,titles_from_data=True)
# 给图表设置分类
chart.set_categories(cats)
chart.shape = 4
# 将图标插入到工作表中指定的单元格
sheet.add_chart(chart,'A10')
wb.save('../pycharm测试文件/test66附件-销量统计表.xlsx')
(16).演示
总结
这是我今天学Python的自我想法和对其的理解,有不对的地方请同志们多多包涵,谢谢观看!
标签:24,sheet,openpyxl,Python,单元格,自我,chart,图表,row From: https://blog.csdn.net/Pocker_Spades_A/article/details/143315033