Python 实现 Excel 批处理:高效数据处理之道

Python 实现 Excel 批处理:高效数据处理之道

编码文章call10242025-10-13 17:00:161A+A-

在数据处理工作中,常常需要对大量 Excel 文件执行相同操作,比如数据提取、格式调整、汇总统计等。手动逐个处理不仅耗时费力,还容易出错。借助 Python 的强大功能,我们可以轻松实现 Excel 批处理,大幅提升工作效率。下面将详细介绍如何使用 Python 完成常见的 Excel 批处理任务。

一、准备工作

在开始之前,需要安装两个重要的库:pandas 和 openpyxl。pandas 是数据处理与分析的利器,openpyxl 则用于对 Excel 文件进行底层操作。可以使用 pip 进行安装:

bash

pip install pandas openpyxl

二、数据读取与合并

假设我们有多个 Excel 文件,每个文件都包含一个名为 “Sheet1” 的工作表,且结构相同,现在要将这些文件的数据合并到一个新的 Excel 文件中。

python

import os
import pandas as pd


def batch_merge_excel():
    folder_path = 'your_folder_path'
    output_path = 'output_file.xlsx'
    all_data = []

    for file in os.listdir(folder_path):
        if file.endswith('.xlsx'):
            file_path = os.path.join(folder_path, file)
            df = pd.read_excel(file_path, sheet_name='Sheet1')
            all_data.append(df)

    combined_df = pd.concat(all_data, ignore_index=True)
    combined_df.to_excel(output_path, index=False)


if __name__ == '__main__':
    batch_merge_excel()

在上述代码中:

  1. 首先定义了存放 Excel 文件的文件夹路径 folder_path 和输出文件路径 output_path。
  2. 通过 os.listdir() 遍历文件夹中的所有文件,使用 pd.read_excel() 读取每个 Excel 文件的 “Sheet1” 工作表数据。
  3. 将读取的数据存储在列表 all_data 中,最后使用 pd.concat() 函数将所有数据合并成一个 DataFrame,并通过 to_excel() 方法将合并后的数据保存到新的 Excel 文件中,index=False 表示不保存索引。

三、数据提取与处理

若要从多个 Excel 文件中提取特定列的数据,并进行简单的数据处理,例如计算某列数据的平均值。

python

import os
import pandas as pd


def batch_extract_and_process():
    folder_path = 'your_folder_path'
    output_path = 'output_file.xlsx'
    result_data = []

    for file in os.listdir(folder_path):
        if file.endswith('.xlsx'):
            file_path = os.path.join(folder_path, file)
            df = pd.read_excel(file_path, sheet_name='Sheet1')
            target_column = df['TargetColumn']
            average_value = target_column.mean()
            result_data.append({'FileName': file, 'Average': average_value})

    result_df = pd.DataFrame(result_data)
    result_df.to_excel(output_path, index=False)


if __name__ == '__main__':
    batch_extract_and_process()

此代码的步骤如下:

  1. 同样先指定文件夹路径和输出路径。
  2. 遍历文件夹中的 Excel 文件,读取 “Sheet1” 工作表,并提取名为 “TargetColumn” 的列数据。
  3. 计算该列数据的平均值,并将文件名和平均值存储在 result_data 列表中。
  4. 最后将 result_data 转换为 DataFrame 并保存为 Excel 文件。

四、格式调整与写入

使用 openpyxl 库可以对 Excel 文件进行格式调整,如设置字体、颜色、对齐方式等。以下示例展示了如何将多个 Excel 文件中某列的数据复制到新文件,并设置目标列的字体为加粗。

python

import os
from openpyxl import Workbook, load_workbook
from openpyxl.styles import Font


def batch_copy_and_format():
    folder_path = 'your_folder_path'
    output_path = 'output_file.xlsx'
    wb = Workbook()
    ws = wb.active

    for file in os.listdir(folder_path):
        if file.endswith('.xlsx'):
            file_path = os.path.join(folder_path, file)
            source_wb = load_workbook(file_path)
            source_ws = source_wb['Sheet1']
            for cell in source_ws['A']:
                new_cell = ws.cell(row=ws.max_row + 1, column=1, value=cell.value)
                new_cell.font = Font(bold=True)
            source_wb.close()

    wb.save(output_path)


if __name__ == '__main__':
    batch_copy_and_format()

代码实现过程如下:

  1. 设定文件夹路径和输出路径,创建一个新的工作簿和工作表。
  2. 遍历文件夹中的 Excel 文件,加载每个文件的 “Sheet1” 工作表。
  3. 将源工作表中 A 列的数据逐个复制到新工作表,并为新单元格设置加粗字体。
  4. 完成所有文件处理后,保存新的 Excel 文件。

通过 Python 实现 Excel 批处理,能够自动化完成复杂的数据处理任务,减少人工操作的误差,显著提高工作效率。无论是简单的数据合并,还是复杂的数据处理与格式调整,Python 都提供了丰富的工具和方法来满足需求。在实际应用中,可以根据具体场景灵活调整代码,实现个性化的批处理功能。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4