Python 基础入门 Day40:自动化办公基础 —— 操作 Excel 文件(openpyxl)

42次阅读
没有评论

共计 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")

六、实战小练习

请尝试以下任务,巩固今天的知识:

  1. 读取已有 Excel 文件中的数据,并打印出来。
  2. 编写代码,创建一个包含员工工资信息的 Excel 表格,并加入样式。
  3. 生成一个图表,展示不同员工的工资对比。

七、小结

今天,我们学习了自动化办公中的重要一环 —— 操作 Excel 文件,掌握了:

  • 使用 openpyxl 创建和保存 Excel 文件
  • 写入与读取数据
  • 应用样式、合并单元格、插入图表等高级技巧

这些技能能够极大提高日常工作的效率,为接下来的数据处理打下基础。

正文完
 0
评论(没有评论)