python语言遍历当前文件夹下包含有关键词的子文件夹,对该子文件夹下的xlsx文件内容进行汇总统计,分成两列,一列放tag,一列放count。遇到相同的tag,将其count中的数值相加,最后汇总成一个新的xlsx文件
时间: 2024-06-09 07:11:17 浏览: 52
你可以使用Python中的os和pandas模块来完成这个任务。以下是一个可能的实现方法:
```python
import os
import pandas as pd
# 定义关键词和要汇总的列
keyword = 'example'
tag_col = 'Tag'
count_col = 'Count'
# 定义函数来处理单个文件
def process_file(filepath, tag_counts):
df = pd.read_excel(filepath)
tags = df[tag_col].tolist()
counts = df[count_col].tolist()
for i in range(len(tags)):
tag = tags[i]
count = counts[i]
if tag in tag_counts:
tag_counts[tag] += count
else:
tag_counts[tag] = count
# 定义函数来遍历文件夹
def process_folder(folder_path, tag_counts):
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.xlsx'):
filepath = os.path.join(root, file)
process_file(filepath, tag_counts)
# 初始化tag_counts字典
tag_counts = {}
# 遍历文件夹并处理文件
folder_path = 'path/to/folder'
process_folder(folder_path, tag_counts)
# 将结果转化为DataFrame并输出到新的xlsx文件
result_df = pd.DataFrame({tag_col: list(tag_counts.keys()), count_col: list(tag_counts.values())})
result_df.to_excel('path/to/result.xlsx', index=False)
```
在这个代码中,首先定义了关键词和要汇总的列,然后定义了两个函数:process_file用于处理单个文件,process_folder用于遍历文件夹并处理文件。这两个函数都接受一个tag_counts字典作为参数,用于存储统计结果。最后,将统计结果转化为DataFrame,并输出到新的xlsx文件中。
你可以根据实际情况修改这个代码,例如更改关键词和要汇总的列,或者修改输出文件的路径。
阅读全文