Python使用openpyxl批量处理数据

  • Post category:Python

接下来我将为你介绍使用Python和openpyxl进行批量处理数据的完整实例教程。

什么是openpyxl

openpyxl是Python中用于读写Excel文档的一种库,可以方便地读取、修改和创建Excel文件。

安装openpyxl

在使用openpyxl之前,需要先安装该库。你可以通过以下命令来安装openpyxl:

pip install openpyxl

使用openpyxl读取Excel文档

以下是一个使用openpyxl读取Excel文档的示例程序:

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')

# 选取工作表
sheet = workbook['Sheet1']

# 读取单元格的值
value = sheet['A1'].value

# 输出单元格的值
print(value)

在上面的程序中,首先需要打开一个Excel文件。然后选择一个工作表,读取其中的单元格,最后输出它的值。

使用openpyxl写入Excel文档

以下是一个使用openpyxl写入Excel文档的示例程序:

import openpyxl

# 创建一个新的Excel文件
workbook = openpyxl.Workbook()

# 选取工作表
sheet = workbook.active

# 写入数据
sheet['A1'] = 'Hello'
sheet['B1'] = 'Openpyxl'

# 保存文件
workbook.save('example.xlsx')

在上面的程序中,首先创建了一个新的Excel文件,并选择了一个工作表。然后通过写入数据来填充单元格,并将其保存为Excel文件。

使用openpyxl批量处理数据的实例

以下是一个使用openpyxl批量处理数据的实例程序,假设我们有一个存储学生成绩的Excel文件(grade.xlsx),其中包含多个工作表,每个工作表存储了一门学科的成绩信息。我们要批量统计每个学科的总分和平均分,并把结果添加到每个工作表的底部。

import openpyxl

# 打开文件
workbook = openpyxl.load_workbook('grade.xlsx')

# 遍历工作表
for sheet in workbook.worksheets:

    # 计算总分和平均分
    total_score = 0
    count = 0
    for row in sheet.iter_rows(min_row=2, values_only=True):
        total_score += sum(row[1:])
        count += 1
    avg_score = total_score / count

    # 添加总分和平均分到工作表底部
    last_row = sheet.max_row
    sheet.cell(row=last_row+2, column=1, value='总分')
    sheet.cell(row=last_row+3, column=1, value='平均分')
    sheet.cell(row=last_row+2, column=2, value=total_score)
    sheet.cell(row=last_row+3, column=2, value=avg_score)

# 保存文件
workbook.save('grade.xlsx')

在上面的程序中,首先打开了一个Excel文件,并遍历了其中的工作表。然后对于每个工作表,计算了所有学生的总分和平均分,并添加到了工作表的底部。

总结

通过本文介绍,你已经了解了openpyxl库的使用方法,并学会了使用Python批量处理Excel文档中的数据。在实际应用中,你可以根据需要修改现有的程序或者结合自己的业务逻辑进行二次开发,实现更为复杂的数据处理任务。