首页 > 编程语言 >Python学习的自我理解和想法(24)

Python学习的自我理解和想法(24)

时间:2024-10-31 18:16:13浏览次数:3  
标签:24 sheet openpyxl Python 单元格 自我 chart 图表 row

学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码!

今天是学Python的第24天,学的内容是python对Excel的操作。开学了,时间不多,写得不详细,见谅。

目录

1.插件介绍

2.安装 openpyxl

3.读取Excel文件内容

(1).加载一个工作簿

(2).获取工作表名称

(3).获取具体的工作表

(4).获取单元格的范围

(5).获取工作表的行数和列数

(6).获取指定单元格的值

(7).获取多个单元格的数据

1.enumerate( )方法

2. 双层循环

(8).读取单元格中所有的数据

4.写入Excel文件

(1).创建工作薄

(2).添加工作表

(3).保存工作簿

(4).结果

5.插入图表

(1).导入模块

(2).创建对象

(3).创建一个工作表

(4).导入数据(元组形式导入)

(5).向表单中添加行

(6).创建图片对象

(7).设置图表的标题

(8).设置图表标题

(9).设置数据的范围

(10).设置分类的范围

(11).给图表添加数据

(12).给图表设置分类

(13).将图标插入到工作表中指定的单元格

(14).保存

(15).总代码

(16).演示

总结 


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

相关文章

  • Python学习的自我理解和想法(23)
    学的是b站的课程(麦叔),跟老师写程序,不是自创的代码!今天是学Python的第23天,学的内容是正则表达式。开学了,时间不多,写得不多,见谅。目录1.七个境界level1固定的字符串level2 某一类字符串level3 重复某一类字符level4 组合level2level5 多种情况level6 限定位......
  • Python SQLite数据库编程
    Python内置 SQLite库直接使用,简单,适合初学者。做更复杂软件,建议重新选用数据库从例子开始:示例代码:#导入模块importsqlite3#连接数据库,返回连接对象conn=sqlite3.connect("D:/my_test.db")#调用连接对象的execute()方法,执行SQL语句#(此处执行的是DDL语句,创......
  • micropython+ESP32S3+MFRC522射频卡模块读卡号
    参考连接:https://doc.itprojects.cn/A0004.iot/01.doc.c0e19433a76e2e42f143ba0ded917201/index.html#/q02.rfid.011)ESP32S3+MFRC522射频卡模块图 #接线说明#MFRC522_sck  =ESP32S3_Pin(14)#MFRC522_mosi=ESP32S3_Pin(13)#MFRC522_miso=ESP32S3_Pin(12)#MFRC......
  • Python——石头剪刀布(附源码+多模式二改优化版)
    编程初学者通常会从简单的项目开始,以建立基础并增强信心。石头剪刀布游戏是一个很好的起点,因为它涉及到基本的逻辑判断、用户输入处理和随机数生成。本文将详细介绍如何使用Python编写一个石头剪刀布游戏,并提供完整的代码和解释。目录一、游戏介绍二、基本代码解析与实现......
  • Python之pyserial模块 串口通信
    python之pyserial模块原文链接:https://www.cnblogs.com/sureZ-learning/p/17054481.htmlpyserial模块封装了对串口的访问,兼容各种平台(Windows、Linux、MACOS等)。其支持的特性如下:所有平台基于类的接口相同端口可以通过python来设置支持不同数据长度、停止位、奇偶校验位、流......
  • Python深度学习进阶与前沿应用(注意力机制详解、生成式模型详解、自监督学习模型详解、
    近年来,伴随着以卷积神经网络(CNN)为代表的深度学习的快速发展,人工智能迈入了第三次发展浪潮,AI技术在各个领域中的应用越来越广泛。注意力机制、Transformer模型(BERT、GPT-1/2/3/3.5/4、DETR、ViT、SwinTransformer等)、生成式模型(变分自编码器VAE、生成式对抗网络GAN、扩散模型Di......
  • AUMO 傲目亮相 2024 汽车工程技术与装备展,多款自动驾驶硬件在环仿真测试产品引关注
     10月29日至31日,由工业和信息化部装备工业发展中心、中国检验认证集团和长三角国家技术创新中心主办的“2024汽车工程技术与装备展”在苏州高新区狮山会议中心成功举办。 本次展会以“新智驱动、新质发展”为主题,设立了多场主题分论坛和特色活动,汇聚了来自全国各地的行业领......
  • ChatGPT、Python和OpenCV支持下的空天地遥感数据识别与计算(地质监测、城市规划、农业
    在科技飞速发展的时代,遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究,空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。原文链接:ChatGPT、Python和OpenCV支持下的空天地遥感数据识别与计算(地质监测、城市规划、......
  • Ubuntu24安装Gitlab源码管理系统
    Ubuntu20.04LTS,22.04LTS,24.04LTS安装和配置所需的依赖sudoapt-getupdatesudoapt-getinstall-ycurlopenssh-serverca-certificatestzdataperl(可选)如果要使用Postfix来发送电子邮件通知,执行以下安装命令。sudoapt-getinstall-ypostfix如果您想使用......
  • Filter -2024/10/31
    Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一packagecom.stdu.web.filter;importjavax.servlet.*;importjavax.servlet.annotation.WebFilter;importjava.io.IOException;@WebFilter("/*")publicclassFilter_demoimplementsFilter{......