python基于openpyxl生成excel文件

  • Post category:Python

下面就为你分享一下Python基于openpyxl生成Excel文件的完整实例教程。

一、前置准备工作

在开始学习本教程之前,需要确保已经安装了openpyxl库。可以通过下面的命令在命令行窗口中进行安装:

pip install openpyxl

二、利用openpyxl生成Excel文件

2.1 创建Excel文件

要创建一个Excel文件,需要导入openpyxl库中的Workbook类,并再通过该类创建一个workbook对象。下面是一条示例代码:

from openpyxl import Workbook
wb = Workbook()

在上述代码中,我们创建了一个Workbook对象并赋值给wb变量。

2.2 选择/创建工作表

要在Excel文件中创建工作表,需要使用Workbook对象的create_sheet()方法。 默认情况下,该方法会在Excel文件中创建一个名为’Sheet’的工作表。可以通过将sheet_name参数传递给create_sheet()方法来指定工作表的名称,下面是一条示例代码:

ws = wb.create_sheet("MySheet")

在上述代码中,我们创建了一个名为”MySheet”的工作表,并将其引用赋值给一个名为ws的变量。

同时,也可以使用workbook对象上的active属性,获取默认打开的工作表,代码如下:

ws = wb.active

2.3 写入数据

要在Excel文件的工作表中写入数据,可以通过在工作表中选择单元格,并将数据填充到该单元格中来实现。下面是一条示例代码:

ws['A1'] = "Hello World"

在上述代码中,我们将字符串”Hello World”写入工作表(MySheet)的A1单元格中。

下面再来展示一个将一个多维列表写入到Excel中的示例:

data = [
  ["姓名", "年龄", "性别"],
  ["Tom", 25, "男"],
  ["Lily", 23, "女"],
  ["Lucy", 21, "女"]
]

for row in data:
    ws.append(row)

在上述代码中,我们通过循环将data列表中的每一行数据写入工作表中。

三、示例说明

下面我们来通过两个示例,进一步加深对openpyxl库的认识。

3.1 示例1:利用openpyxl将数据从Excel读取出来,并转化为DataFrame格式

from openpyxl import load_workbook
import pandas as pd

# 打开工作簿,选择要读取的工作表
wb = load_workbook(filename='sample.xlsx')
ws = wb['Sheet1']

data = []
# 在Excel中遍历每一行数据,将数据保存到data列表中
for row in ws.iter_rows(min_row=2, values_only=True):
    data.append(row)

# 将data转换为DataFrame格式
df = pd.DataFrame(data, columns=['Name', 'Age', 'Gender'])
print(df)

在上述代码中,我们打开了名为sample.xlsx的Excel文件,并选择其中的”Sheet1″工作表。我们使用iter_rows()函数遍历了工作表中的每一行数据,并将数据保存到一个名为data的列表中。最后使用pandas库将data列表转换成了DataFrame格式并输出。

3.2 示例2:自动生成Excel报表

from openpyxl import Workbook
import random

wb = Workbook()
ws = wb.active
# 创建列名
ws.append(['Name', 'Score'])

# 生成随机数据
for i in range(100):
    name = f'Student{i}'
    score = random.randint(60, 100)
    ws.append([name, score])

# 保存Excel文件
wb.save('report.xlsx')

在上述代码中,我们首先创建了一个名为report.xlsx的Excel文件,并在其中创建了”Sheet”工作表。之后,我们为”Sheet”工作表添加了两列”Name”和”Score”。最后,我们生成了100个随机分数,并将随机生成的数据以及学生名称写入到工作表中,并将结果保存到report.xlsx文件中。

OK,以上就是基于openpyxl生成Excel文件的完整教程。如果需要了解更多openpyxl库的使用,可以参考官方文档:https://openpyxl.readthedocs.io/en/stable/。