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

相关推荐
Swift社区2 分钟前
Swift 解法详解:LeetCode 371《两整数之和》
开发语言·leetcode·swift
Swift社区3 分钟前
Swift 解法详解 LeetCode 362:敲击计数器,让数据统计更高效
开发语言·leetcode·swift
ytttr8738 分钟前
PHP中各种超全局变量使用的过程
开发语言·php
Q741_14713 分钟前
C++ 前缀和 高频笔试考点 实用技巧 牛客 DP34 [模板] 前缀和 题解 每日一题
开发语言·c++·算法·前缀和·牛客网
十八旬18 分钟前
苍穹外卖项目实战(day-5完整版)-记录实战教程及问题的解决方法
java·开发语言·spring boot·redis·mysql
小胖墩有点瘦26 分钟前
【基于yolo和web的垃圾分类系统】
人工智能·python·yolo·flask·毕业设计·课程设计·垃圾分类
站大爷IP36 分钟前
Python实现简易成语接龙小游戏:从零开始的趣味编程实践
python
Darenm1111 小时前
python进程,线程与协程
java·开发语言
凤年徐1 小时前
C++类和对象(上):从设计图到摩天大楼的构建艺术
c语言·开发语言·c++·类和对象