共计 1529 个字符,预计需要花费 4 分钟才能阅读完成。
欢迎来到 Python 基础入门 Day40!今天我们将正式步入 自动化办公 的世界,学习如何使用 Python 处理 Excel 文件,具体来说,我们会介绍强大的库 openpyxl。
这一节非常实用,适合需要处理大量表格、生成报表的办公族或科研人员。你将掌握创建 Excel 文件、写入数据、读取数据、格式调整等关键技能。
一、为什么选用 openpyxl
openpyxl 是一个功能强大的第三方库,用于读写 .xlsx 格式的 Excel 文件。它的优势:
- 支持单元格样式、合并单元格、插图等高级功能
- 安装简单,使用广泛
- 与 pandas 可搭配使用
安装方式
pip install openpyxl
二、创建 Excel 文件并写入数据
我们先从最简单的操作开始:创建一个 Excel 文件,并写入一些基础数据。
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 激活默认工作表
ws = wb.active
ws.title = "成绩表"
# 写入标题
ws.append(["姓名", "语文", "数学", "英语"])
# 写入数据
ws.append(["小明", 85, 90, 78])
ws.append(["小红", 92, 88, 84])
ws.append(["小刚", 76, 81, 73])
# 保存文件
wb.save("成绩表.xlsx")
三、读取 Excel 文件数据
你可以使用 openpyxl 来读取 Excel 文件中的任意单元格数据。
from openpyxl import load_workbook
# 加载工作簿
wb = load_workbook("成绩表.xlsx")
ws = wb["成绩表"]
# 读取标题行
for cell in ws[1]:
print(cell.value, end="\t")
print("\n 学生成绩:")
# 读取所有数据行
for row in ws.iter_rows(min_row=2, values_only=True):
print(row)
四、格式设置:字体、颜色、对齐
你还可以为 Excel 设置样式,让表格更美观。
from openpyxl.styles import Font, Alignment
# 设置表头加粗、居中
header_font = Font(bold=True)
center_align = Alignment(horizontal="center")
for cell in ws[1]:
cell.font = header_font
cell.alignment = center_align
wb.save("成绩表_样式.xlsx")
五、合并单元格 & 插入图表(进阶)
合并单元格
ws.merge_cells("A6:D6")
ws["A6"] = "期末总结"
简单柱状图插入
from openpyxl.chart import BarChart, Reference
chart = BarChart()
data = Reference(ws, min_col=2, max_col=4, min_row=1, max_row=4)
chart.add_data(data, titles_from_data=True)
ws.add_chart(chart, "F2")
wb.save("成绩表_图表.xlsx")
六、实战小练习
请尝试以下任务,巩固今天的知识:
- 读取已有 Excel 文件中的数据,并打印出来。
- 编写代码,创建一个包含员工工资信息的 Excel 表格,并加入样式。
- 生成一个图表,展示不同员工的工资对比。
七、小结
今天,我们学习了自动化办公中的重要一环 —— 操作 Excel 文件,掌握了:
- 使用
openpyxl创建和保存 Excel 文件 - 写入与读取数据
- 应用样式、合并单元格、插入图表等高级技巧
这些技能能够极大提高日常工作的效率,为接下来的数据处理打下基础。
正文完