使用 Python3 读写 Excel 文件 (xlsx) 的指南
在数据分析、科学研究等领域中,Excel 文件是一种常见的数据存储格式。随着 Python 编程语言的发展,许多库被开发出来,以简化对 Excel 文件的读写操作。本篇文章将介绍如何使用 Python 中的 openpyxl
库来读写 .xlsx
文件,同时提供示例代码,并用类图和序列图可视化相关的操作过程。
一、安装 openpyxl
在开始之前,你需要确保安装了 openpyxl
库。可以使用 pip
命令进行安装:
pip install openpyxl
二、读写 Excel 文件的基本操作
1. 创建一个新的 Excel 文件并写入数据
以下是创建一个新的 Excel 文件,并写入一些基本数据的示例代码:
import openpyxl
# 创建一个新的工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
# 写入数据
sheet['A1'] = '姓名'
sheet['B1'] = '年龄'
sheet['A2'] = '张三'
sheet['B2'] = 23
sheet['A3'] = '李四'
sheet['B3'] = 30
# 保存文件
workbook.save('example.xlsx')
2. 读取 Excel 文件的数据
接下来,我们将读取之前创建的 Excel 文件 example.xlsx
,并打印里面的数据:
import openpyxl
# 加载工作簿
workbook = openpyxl.load_workbook('example.xlsx')
sheet = workbook.active
# 读取数据
for row in sheet.iter_rows(values_only=True):
print(row)
通过这段代码,我们可以访问 Excel 文件中的每一行数据。
三、类图
在 Python 中,上述操作主要涉及到 Workbook
、Worksheet
和 Cell
这三个类。下面是这三个类的关系图,用 mermaid 语法表示:
classDiagram
class Workbook {
+create_sheet()
+save(filename)
}
class Worksheet {
+cell(row, column)
+iter_rows(values_only)
}
class Cell {
+value
}
Workbook --> Worksheet : contains
Worksheet --> Cell : contains
四、序列图
下面是操作的序列图,展示了创建 Excel 文件和读取数据的整个流程:
sequenceDiagram
participant User
participant Workbook
participant Worksheet
participant Cell
User->>Workbook: create_workbook()
Workbook->>Worksheet: active()
Worksheet->>Cell: write_data()
User->>Workbook: save("example.xlsx")
User->>Workbook: load_workbook("example.xlsx")
Workbook->>Worksheet: active()
Worksheet->>Cell: iter_rows()
Cell->>User: return data
五、更多功能
1. 添加图表
除了基本的读写操作,openpyxl
还支持向 Excel 文件中添加图表、格式化单元格等高级功能。你可以通过以下示例在工作表中添加柱状图:
from openpyxl.chart import BarChart, Reference
# 创建一段数据
data = Reference(sheet, min_col=2, min_row=1, max_col=2, max_row=3)
labels = Reference(sheet, min_col=1, min_row=2, max_row=3)
# 创建图表对象
chart = BarChart()
chart.add_data(data, titles_from_data=True)
chart.set_categories(labels)
# 将图表添加到工作表
sheet.add_chart(chart, "D5")
# 保存文件
workbook.save('example_with_chart.xlsx')
2. 设置单元格格式
我们也可以设置单元格的格式,例如字体和颜色:
from openpyxl.styles import Font, Color
# 设置字体加粗
font = Font(bold=True)
sheet['A1'].font = font
sheet['B1'].font = font
# 保存文件
workbook.save('example_styled.xlsx')
六、总结
通过本篇文章的介绍,我们了解了如何使用 Python 的 openpyxl
库读写 Excel 文件,并进行了简单的示例展示。除了基本的操作,openpyxl
还提供了丰富的功能,满足各种数据处理需求。希望这篇文章能帮助你更好地使用 Python 处理 Excel 文件。
无论是在数据分析、学术研究还是自动化办公中,掌握如何使用 Python 读写 Excel 文件都将为你带来更高的工作效率。如果你有其他问题,欢迎随时交流与探讨!