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

简介: 本文记录了学习Python操作Excel的第24天内容,基于B站千锋教育课程。主要介绍openpyxl插件的使用,包括安装、读取与写入Excel文件、插入图表等操作。具体内容涵盖加载工作簿、获取单元格数据、创建和保存工作表,以及通过图表展示数据。因开学时间有限,文章简要概述了各步骤代码实现,适合初学者参考学习。如有不足之处,欢迎指正!

学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码!
今天是学Python的第24天,学的内容是python对Excel的操作。开学了,时间不多,写得不详细,见谅。
目录
1.插件介绍
2.安装 openpyxl
3.读取Excel文件内容
(1).加载一个工作簿
(2).获取工作表名称
(3).获取具体的工作表
(4).获取单元格的范围
(5).获取工作表的行数和列数
(6).获取指定单元格的值
(7).获取多个单元格的数据
1.enumerate( )方法

  1. 双层循环
    (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
image.png

(2).获取工作表名称

语法:wb.sheetnames
image.png

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

语法:wb.worksheets[0]
image.png

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

语法:sheet.dimensions
image.png

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

语法:sheet.max_row,sheet.max_column
image.png

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

语法:sheet['XX'].value
image.png

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

1.enumerate( )方法

注意:用enumerate包装一迭代对象,可以同时使用索引和迭代项,在迭代的同时获得迭代项所在的位置时,才能使结果不是元组!
image.png

2. 双层循环

image.png

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

image.png

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).结果

image.png

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).演示

image.png

总结

这是我今天学Python的自我想法和对其的理解,有不对的地方请同志们多多包涵,谢谢观看!

相关文章
|
8天前
|
数据库 Python
Python学习的自我理解和想法(18)
这是我在学习Python第18天的总结,内容基于B站千锋教育课程,主要涉及面向对象编程的核心概念。包括:`self`关键字的作用、魔术方法的特点与使用(如构造函数`__init__`和析构函数`__del__`)、类属性与对象属性的区别及修改方式。通过学习,我初步理解了如何利用这些机制实现更灵活的程序设计,但深知目前对Python的理解仍较浅显,欢迎指正交流!
|
8天前
|
Python
Python学习的自我理解和想法(19)
这是一篇关于Python面向对象学习的总结,基于B站千锋教育课程内容编写。主要涵盖三大特性:封装、继承与多态。详细讲解了继承(包括构造函数继承、多继承)及类方法与静态方法的定义、调用及区别。尽管开学后时间有限,但作者仍对所学内容进行了系统梳理,并分享了自己的理解,欢迎指正交流。
|
6天前
|
数据采集 数据挖掘 Python
Python学习的自我理解和想法(22)
本文记录了作者学习Python第22天的内容——正则表达式,基于B站千锋教育课程。文章简要介绍了正则表达式的概念、特点及使用场景(如爬虫、数据清洗等),并通过示例解析了`re.search()`、`re.match()`、拆分、替换和匹配中文等基本语法。正则表达式是文本处理的重要工具,尽管入门较难,但功能强大。作者表示后续会深入讲解其应用,并强调学好正则对爬虫学习的帮助。因时间有限,内容为入门概述,不足之处敬请谅解。
|
8天前
|
设计模式 数据库 Python
Python学习的自我理解和想法(20)
这是我在B站千锋教育课程中学习Python第20天的总结,主要涉及面向对象编程的核心概念。内容包括:私有属性与私有方法的定义、语法及调用方式;多态的含义与实现,强调父类引用指向子类对象的特点;单例设计模式的定义、应用场景及实现步骤。通过学习,我掌握了如何在类中保护数据(私有化)、实现灵活的方法重写(多态)以及确保单一实例(单例模式)。由于开学时间有限,内容简明扼要,如有不足之处,欢迎指正!
|
6天前
|
Python
Python学习的自我理解和想法(23)
本文记录了学习Python正则表达式的第23天心得,内容基于B站麦叔课程。文章分为三个部分:1) 正则表达式的七个境界,从固定字符串到内部约束逐步深入;2) 写正则表达式的套路,以座机号码为例解析模式设计;3) 正则表达式语法大全,涵盖字符类别、重复次数、组合模式、位置、分组、标记、特殊字符和替换等知识点。总结中表达了对知识的理解,并欢迎指正。
|
8天前
|
定位技术 Python Windows
Python学习的自我理解和想法(21)
这是一篇关于Python文件操作的学习总结,基于B站千锋教育课程内容整理而成。文章详细介绍了文件操作的基础知识,包括参数(路径、模式、编码)、注意事项(编码一致性、文件关闭)以及具体操作(创建、读取、写入文件)。同时,深入解析了路径的概念,区分绝对路径与相对路径,并通过示例演示两者在实际应用中的差异。此外,还强调了不同模式(如"w"覆盖写入和"a"追加写入)对文件内容的影响。整体内容逻辑清晰,适合初学者掌握Python文件操作的核心技巧。
|
2月前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
2月前
|
人工智能 Java 数据安全/隐私保护
[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
89 28
|
2月前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
2月前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
42 4