学会python——在Excel中生成图表数据(python实例十五)

目录

1.认识Python

2.环境与工具

[2.1 python环境](#2.1 python环境)

[2.2 Visual Studio Code编译](#2.2 Visual Studio Code编译)

3.生成表格数据

[3.1 代码构思](#3.1 代码构思)

[3.2 代码示例](#3.2 代码示例)

4.绘制图表

[4.1 代码构思](#4.1 代码构思)

[4.2 代码示例](#4.2 代码示例)

5.总结


1.认识Python

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象脚本语言

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。

2.环境与工具

2.1 python环境

在Windows上使用命令行窗口查看所安装的python版本

复制代码
python --version

2.2 Visual Studio Code编译

Visual Studio Code是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全、代码重构功能,并且内置了命令行工具和Git 版本控制系统。

3.生成表格数据

3.1 代码构思

使用Openpyxl库模块,向Excel中写入数据。

3.2 代码示例

复制代码
import openpyxl

# 创建一个新的工作簿
wb = openpyxl.Workbook()

# 获取活动的工作表
sheet = wb.active

# 设置工作表名称
sheet.title = "学生成绩"

# 添加标题行
sheet.append(["姓名", "数学", "英语", "科学"])

# 添加学生成绩数据
data = [
    ["Alice", 85, 78, 92],
    ["Bob", 89, 94, 85],
    ["Charlie", 95, 88, 91],
    ["David", 70, 76, 80],
    ["Eva", 88, 84, 87],
    ["Frank", 92, 90, 94]
]

for row in data:
    sheet.append(row)

# 保存工作簿
wb.save('wmp_score.xlsx')

4.绘制图表

4.1 代码构思

使用Openpyxl库模块,通过指定表格数据,指定绘图区域等来绘制图形。

4.2 代码示例

复制代码
import openpyxl
from openpyxl.chart import BarChart, Reference

# 打开 Excel 工作簿
wb = openpyxl.load_workbook('wmp_score.xlsx')
# 打开当前活动的 sheet
sheet = wb.active
# 选中在柱形图上要显示的数据
sel_data = Reference(sheet, min_col=2, min_row=2, max_col=4, max_row=7)
# 设置 x 轴数据
titlex = Reference(sheet, min_col=1, min_row=2, max_row=7)
# 生成柱形图对象
chart_obj = BarChart()
# 设置柱形图为纵向柱状
chart_obj.type = 'col'
# 设置柱形图显示样式
chart_obj.style = 9
# 设置柱形图标题
chart_obj.title = '学生成绩'
# 设置 y 轴标题
chart_obj.y_axis.title = '成绩'
# 设置 x 轴标题
chart_obj.x_axis.title = '姓名'
# 添加数据到柱形图,titles_from_data=True 表示从数据中获取标题
chart_obj.add_data(sel_data, titles_from_data=True)
# 设置类别(x轴)数据
chart_obj.set_categories(titlex)
# 将柱形图添加到 sheet 中,位置为 A9
sheet.add_chart(chart_obj, 'A9')
# 保存工作簿
wb.save('wmp_score.xlsx')

5.总结

使用Openpyxl可以很简单的编辑Excel文件内容,实现通过Python语言编写Excel内容,但是需要保证Excel可以在本机正常使用哦!

相关推荐
我的xiaodoujiao5 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 38--Allure 测试报告
python·学习·测试工具·pytest
Boilermaker19926 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
沈浩(种子思维作者)6 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
MM_MS6 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
それども7 小时前
Apache POI XSSFWorkbook 和 SXSSFWorkbook 的区别
apache·excel
꧁Q༒ོγ꧂7 小时前
LaTeX 语法入门指南
开发语言·latex
njsgcs7 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_997 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
io_T_T7 小时前
迭代器 iteration、iter 与 多线程 concurrent 交叉实践(详细)
python
古城小栈7 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust