编写一段python代码,遍历文件夹中的所有表格,把编制情况属于在编的人员姓名、身份证号、金额(税前)汇总到新表格“考试考务费”中
时间: 2024-05-15 07:14:58 浏览: 89
C++遍历文件夹下所有文件的多种方法
以下是一种可能的实现方式:
```python
import os
import pandas as pd
# 设置工作目录和文件夹路径
work_dir = "/path/to/work/dir"
folder_name = "tables"
folder_path = os.path.join(work_dir, folder_name)
# 定义要匹配的文件名和表头
file_name_pattern = "*.xlsx"
header_names = ["姓名", "身份证号", "金额(税前)", "编制情况"]
# 初始化汇总表格
summary_df = pd.DataFrame(columns=header_names)
# 遍历文件夹中的所有表格
for file_name in os.listdir(folder_path):
if file_name.endswith(".xlsx"):
file_path = os.path.join(folder_path, file_name)
# 读取表格数据
table_df = pd.read_excel(file_path)
# 筛选符合条件的行
match_df = table_df[table_df["编制情况"] == "在编"][header_names[:-1]]
# 汇总到总表格中
summary_df = pd.concat([summary_df, match_df], ignore_index=True)
# 保存汇总表格到新文件中
output_file_path = os.path.join(work_dir, "考试考务费.xlsx")
summary_df.to_excel(output_file_path, index=False)
```
这段代码的主要步骤是:
1. 设置工作目录和文件夹路径。
2. 定义要匹配的文件名和表头。
3. 初始化汇总表格。
4. 遍历文件夹中的所有表格。
5. 读取表格数据。
6. 筛选符合条件的行。
7. 汇总到总表格中。
8. 保存汇总表格到新文件中。
需要注意的是,这段代码假设所有表格都是.xlsx格式的,并且都有与header_names相同的表头。如果不符合这些条件,需要根据实际情况进行修改。同时,如果表格数据较大,可能需要进行分批读取和筛选,以避免内存占用过多。
阅读全文