学会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可以在本机正常使用哦!

相关推荐
伊灵eLing23 分钟前
GoLang 语言基础
开发语言·后端·golang
两年半的个人练习生^_^23 分钟前
JMM 进阶:彻底理解 synchronized 实现原理
java·开发语言
小白不白11125 分钟前
Invoke的用法
开发语言·人工智能·数码相机·计算机视觉·c#
c_lb728825 分钟前
期货量化策略从 Windows 迁到 Linux 服务器:环境注意点
linux·服务器·windows·python
techdashen29 分钟前
What is maintenance, anyway?
开发语言·后端·rust
北凉军30 分钟前
更换PyCharm 任务栏图标
ide·python·pycharm
万法若空32 分钟前
C/C++基本类型表示范围
c语言·开发语言·c++
yijianace34 分钟前
Python爬虫实战:BooksToScrape 多线程爬取与图片下载
开发语言·爬虫·python
LadenKiller35 分钟前
期货多品种轮动标的池:天勤 query_quotes 筛品种写法
python·区块链
郑洁文36 分钟前
基于Python+回归分析的电子产品需求数据分析与预测
python·数据分析·回归·电子产品需求数据·电子产品数据分析