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