Python写入批量Excel文件
Excel是一种常用的电子表格软件,广泛应用于数据处理、数据分析、数据可视化等各个领域。Python作为一门强大的编程语言,提供了多种库和工具来处理Excel文件。本文将介绍如何使用Python批量写入Excel文件,并提供代码示例。
1. Excel文件的基本概念
在开始编写Python代码之前,先了解一些Excel文件的基本概念。
1.1 工作簿(Workbook)
Excel文件由多个工作簿(Workbook)组成,每个工作簿可以包含多个工作表(Worksheet)。
1.2 工作表(Worksheet)
工作表是Excel文件中的一个表格,包含有行(Row)和列(Column)。行由数字标识,从1开始;列由字母标识,从A开始。
1.3 单元格(Cell)
单元格是工作表中的一个格子,由行号和列号确定。单元格可以存储文本、数字、日期等不同类型的数据。
2. 使用openpyxl库
openpyxl是一个用于读写Excel文件的Python库,支持Excel 2010及以上版本的xlsx文件。我们可以使用openpyxl库来创建、修改和保存Excel文件。
2.1 安装openpyxl库
在开始之前,需要先安装openpyxl库。可以使用pip命令进行安装:
pip install openpyxl
2.2 创建工作簿和工作表
首先,我们需要创建一个工作簿(Workbook)对象和一个工作表(Worksheet)对象。可以使用openpyxl库中的Workbook()
和create_sheet()
方法来创建:
from openpyxl import Workbook
# 创建工作簿
wb = Workbook()
# 创建工作表
ws = wb.create_sheet(title="Sheet1")
上述代码创建了一个名为"Sheet1"的工作表,并将其添加到工作簿中。
2.3 写入数据
可以使用ws.cell(row, column, value)
方法向工作表中的指定单元格写入数据。row表示行号,column表示列号,value表示要写入的值。
ws.cell(1, 1, "姓名")
ws.cell(1, 2, "年龄")
ws.cell(2, 1, "张三")
ws.cell(2, 2, 20)
上述代码向工作表中的第一行第一列写入了"姓名",第一行第二列写入了"年龄",第二行第一列写入了"张三",第二行第二列写入了20。
2.4 保存工作簿
完成数据写入后,需要将工作簿保存到文件中。可以使用wb.save(filename)
方法保存工作簿,其中filename表示要保存的文件名。
wb.save("data.xlsx")
上述代码将工作簿保存为"data.xlsx"文件。
2.5 批量写入数据
如果要批量写入数据,可以使用循环结构来实现。例如,以下代码将列表中的数据逐行写入工作表:
data = [
["姓名", "年龄"],
["张三", 20],
["李四", 25],
["王五", 30]
]
for row in data:
ws.append(row)
wb.save("data.xlsx")
上述代码将列表中的数据逐行写入工作表,并保存为"data.xlsx"文件。
3. 完整代码示例
下面是一个完整的示例代码,实现了批量写入Excel文件的功能:
from openpyxl import Workbook
def write_to_excel(filename, data):
# 创建工作簿
wb = Workbook()
# 创建工作表
ws = wb.create_sheet(title="Sheet1")
# 写入数据
for row in data:
ws.append(row)
# 保存工作簿
wb.save(filename)
# 测试代码
data = [
["姓名", "年龄"],
["张三", 20],
["李四", 25],
["王五", 30]
]
write_to_excel("data.xlsx", data)
上述代码定义了一个`write