程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python自动化办公高效批量查找Excel数据,轻松应对海量数据处理

hfteth 2025-03-12 15:08:26 技术文章 30 ℃

场景描述

在处理海量的Excel数据时,我们经常会遇到需要跨多个工作簿查找特定信息的情况。比如,一家大型企业可能需从多个部门上报的报表中,检索特定项目的进度更新或某员工的业绩记录。传统做法通常是挨个打开Excel表格查找到需要的数据后复制粘贴到结果表里,有100个表格就需要如此重复操作100次,而且过程中还容易出错。利用Python进行批量查找Excel数据,可以迅速定位并整合这些信息,从而节约时间并提升工作效率。

数据分析

  • 输入:包含相似数据结构的多个Excel工作簿。
  • 处理流程:
    • 遍历所有工作簿及其工作表。
    • 查找包含特定关键词或数据的条目。
    • 提取并整合这些数据。
  • 输出:一个整合了所有相关数据的全新Excel工作簿。

示例数据

假设企业有多个部门,每个部门每月都会上报销售数据。现需检索所有包含特定产品“Y”的销售记录。

部门文件如下:

  • SalesReport_Dept1.xlsx
  • SalesReport_Dept2.xlsx
  • SalesReport_Dept3.xlsx
  • ...
  • SalesReport_DeptN.xlsx

每个文件包含以下列:

  • ReportDate(报告日期)
  • ProductName(产品名称)
  • SalesVolume(销售数量)
  • SalesPerson(销售员)

实战代码

import pandas as pd  
import os  
  
def batch_search_excel(keyword, directory, output_filename):  
    all_data = pd.DataFrame()  
      
    # 遍历指定文件夹中的所有Excel文件  
    for filename in os.listdir(directory):  
        if filename.endswith('.xlsx'):  
            filepath = os.path.join(directory, filename)  
            df = pd.read_excel(filepath)  
              
            # 搜索包含特定关键词的数据  
            matched_data = df[df['ProductName'].str.contains(keyword, na=False, case=False)]  
              
            # 如果找到匹配的数据,将其添加到总数据中  
            if not matched_data.empty:  
                all_data = pd.concat([all_data, matched_data], ignore_index=True)  
      
    # 将汇总的数据输出到新的Excel文件  
    all_data.to_excel(output_filename, index=False)  
  
# 调用函数  
batch_search_excel("产品Y", "path_to_sales_reports", "Matched_Product_Sales.xlsx")

总结

本段代码展示了如何通过Python和pandas库,批量查找包含特定关键词的Excel数据。通过自动遍历文件夹中的所有Excel文件,搜索含有特定产品名称的记录,并将这些记录整合到一个新的Excel文件中。这种方法在处理需要从大量分散的数据源中提取信息的情况时特别有效,能显著提高数据处理的效率。

Tags:

最近发表
标签列表