AI办公自动化:批量合并多个Excel表格的数据并汇总
工作任务:
有多个表格
把里面的月流量数据都合并到一张表中:
在chatgpt中输入提示词:
你是一个Python编程专家,要完成一个Python脚本编写任务,具体步骤如下:
打开文件夹:F:\AI自媒体内容\AI行业数据分析\toolify月榜
逐个读取文件夹里面的xlsx表格文件;
读取xlsx表格文件的主文件名,设为变量{biaoge},提取主文件名中”toolify”和”排行榜”之间的内容,设为变量{date};
读取”F:\AI自媒体内容\AI行业数据分析\toolify月榜\新建文件夹\toolify2023年-2024年月排行榜汇总数据.xlsx”
将{date}写入”toolify2023年-2024年月排行榜汇总数据.xlsx”这个表格文件的C列表头;
将{biaoge}这个表格中D列“name”里面单元格的内容和”toolify2023年-2024年月排行榜汇总数据.xlsx”这个表格的B列“name”进行对比,如果一致,就将{biaoge}这个表格中E列“month_visited_count”里面单元格的内容复制到”toolify2023年-2024年月排行榜汇总数据.xlsx”这个表格的C列;
数据比对完成后,继续下一个表格(比对数据写入”toolify2023年-2024年月排行榜汇总数据.xlsx”这个表格的D列),直到文件夹中19个表格都比对完成;
注意:每一步都要输出信息到屏幕
源代码:
import pandas as pd
import os
import re
# 定义文件夹路径
folder_path = rF:\AI自媒体内容\AI行业数据分析\toolify月榜
summary_file_path = os.path.join(folder_path, 新建文件夹, toolify2023年-2024年月排行榜汇总数据.xlsx)
# 读取汇总文件
summary_df = pd.read_excel(summary_file_path)
# 逐个读取文件夹中的xlsx文件
files = [f for f in os.listdir(folder_path) if f.endswith(.xlsx)]
# 处理每个xlsx文件
for file in files:
file_path = os.path.join(folder_path, file)
# 提取日期
match = re.search(rtoolify(.*?)排行榜, file)
if match:
date = match.group(1)
print(fProcessing file: {file}, Extracted date: {date})
else:
print(fNo valid date found in filename: {file})
continue
# 读取当前文件
df = pd.read_excel(file_path)
# 将date添加到summary_df中
if date not in summary_df.columns:
summary_df[date] = None
# 比对并复制数据
for index, row in summary_df.iterrows():
name = row[name]
match_row = df[df[name] == name]
if not match_row.empty:
summary_df.at[index, date] = match_row.iloc[0][month_visited_count]
print(fUpdated summary for {name} with {match_row.iloc[0][“month_visited_count”]})
# 保存结果
summary_df.to_excel(summary_file_path, index=False)
print(fSummary file updated at: {summary_file_path})