python遍历文件夹下的excel文件,并提取指定工作表指定区域数据,汇总到新文件中

时间: 2025-01-27 14:13:44 浏览: 55
要使用Python遍历文件夹下的Excel文件,并提取指定工作表的指定区域数据,然后将这些数据汇总到一个新的文件中,你可以使用`pandas`和`openpyxl`库来实现。以下是一个简单的步骤说明和代码示例: 1. 首先,确保你已经安装了`pandas`和`openpyxl`库。如果没有安装,可以使用pip来安装: ```bash pip install pandas openpyxl ``` 2. 导入所需的库: ```python import os import pandas as pd ``` 3. 设置文件夹路径、目标工作表名称和数据区域: ```python folder_path = '你的文件夹路径' sheet_name = '指定的工作表名' data_range = 'A1:C10' # 例如,提取A1到C10的数据 ``` 4. 创建一个空的DataFrame用于存储所有文件的数据: ```python all_data = pd.DataFrame() ``` 5. 遍历文件夹中的所有Excel文件: ```python for filename in os.listdir(folder_path): if filename.endswith('.xlsx') or filename.endswith('.xls'): file_path = os.path.join(folder_path, filename) # 读取指定工作表的指定区域 data = pd.read_excel(file_path, sheet_name=sheet_name, usecols=data_range) # 将数据添加到all_data DataFrame中 all_data = pd.concat([all_data, data], ignore_index=True) ``` 6. 将汇总后的数据保存到新的Excel文件中: ```python output_path = '汇总数据.xlsx' all_data.to_excel(output_path, index=False) ``` 7. 完整的代码如下: ```python import os import pandas as pd folder_path = '你的文件夹路径' sheet_name = '指定的工作表名' data_range = 'A1:C10' all_data = pd.DataFrame() for filename in os.listdir(folder_path): if filename.endswith('.xlsx') or filename.endswith('.xls'): file_path = os.path.join(folder_path, filename) data = pd.read_excel(file_path, sheet_name=sheet_name, usecols=data_range) all_data = pd.concat([all_data, data], ignore_index=True) output_path = '汇总数据.xlsx' all_data.to_excel(output_path, index=False) ``` 这样,你就可以遍历指定文件夹下的所有Excel文件,提取每个文件中指定工作表的指定区域的数据,并将这些数据汇总到一个新的Excel文件中了。
阅读全文

相关推荐

用python实现:读取在路径为:E:\CT\1项目\合肥融合清单\3国家系统填报\材料收集_环保局提供+企业上报数据\排污许可材料\登记管理\登记管理_Python测试的文件夹中的每一个pdf中参数及其结果,pdf中参数:省份(2)、地市(3)、区县(4)、注册地址(5)、生产经营场所地址(6)、行业类别(7)、生产经营场所中心经度(8)、中心纬度(9)、统一社会信用代码(10)、组织机构代码/其他注册号(11)、法定代表人/实际负责人(12)、联系方式,这些参数的对应结果内容在各自的原位置的右侧第一部分内容。生产工艺名称(13)、主要产品(14)、主要产品产能、计量单位、废气污染治理设施(16)、治理工艺、数量的对应结果在其原位置下方的内容。在原路径建立EXCEL,第一列是每个pdf的名称,如果名称带有“固定污染源排污登记表”,则将“固定污染源排污登记表”删除,汇总内容。具体的:遍历指定目录下的所有 PDF 文件:使用标准库 os 遍历文件夹。 读取 PDF 内容:采用 pdfplumber 提取文本。 提取所需字段:设计正则表达式模式以捕获省份、地市、区县、注册地址及生产工艺名称等信息。 处理多单元格情况:如果某些字段分布在多个单元格中,需先合并这些单元格再进行后续处理。 保存至 Excel 表格:将提取的结果存储到 DataFrame 中并通过 Pandas 导出为 Excel 文件。注意:除了省份(2)、地市(3)、区县(4)、注册地址(5)、生产经营场所地址(6)、行业类别(7)、生产经营场所中心经度(8)、中心纬度(9)、统一社会信用代码(10)、组织机构代码/其他注册号(11)、法定代表人/实际负责人(12)、联系方式这些参数。生产工艺名称(13)、主要产品(14)、主要产品产能、计量单位、废气污染治理设施(16)、治理工艺、数量情况不同。假设生产工艺名称(13)是(1,1),则主要产品(14)(1,2),主要产品产能(1,3),计量单位(1,4),这是参数名称所在行,分了四列。列位置一一对应的下行,第1列单元格可能存在合并现象,例如(2,1)和(3,1)合并为一个,或者(3,1)和(4,1)合并为一个等。假设(2,1)和(3,1)合并为一个的情况下,可能对应(2,2)、(3,2)两个结果,或者(2,2)、(3,2)、(4,2)三个结果等,(2,2)、(3,2)、(4,2)分别对应(2,3)、(3,3)、(4,3)、也对应(2,4)、(3,4)、(4,4)