Python和vba遍历文件夹下所有Excel工作簿,并汇总工作簿表格中所有数据且备注数据来源于那个工作簿
时间: 2025-06-09 16:00:36 浏览: 22
在Python中,你可以使用`os`库来遍历文件夹,`pandas`库来处理Excel工作簿中的数据,而`openpyxl`或者`xlrd/xlwt`可以读取和写入Excel文件。这里是一个基本的示例,展示了如何遍历文件夹并汇总所有工作簿的数据:
```python
import os
import pandas as pd
# 定义函数来读取单个工作簿
def read_excel(file_path):
try:
data = pd.read_excel(file_path)
return data, file_path
except Exception as e:
print(f"Error reading {file_path}: {e}")
return None, file_path
# 遍历指定文件夹下的所有.xlsx文件
def process_folder(folder_path):
data_dict = {}
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx'):
full_file_path = os.path.join(folder_path, filename)
workbook_data, source = read_excel(full_file_path)
if workbook_data is not None:
if '备注' column in workbook_data.columns:
data_dict[source] = {'data': workbook_data, 'source': filename}
else:
print(f"No '备注' column found in {filename}")
# 汇总数据
all_data = pd.concat([value['data'] for value in data_dict.values()])
return all_data, data_dict
folder_path = "your_folder_path" # 替换为你想要遍历的文件夹路径
all_data, sources_info = process_folder(folder_path)
# 输出汇总数据和每个工作簿的来源信息
print("All Data:")
print(all_data)
print("\nSource Information:")
for source, info in sources_info.items():
print(f"{info['source']} - {info['data'].iloc[0]['备注'] if '备注' in info['data'].columns else 'No备注'}")
```
在这个示例中,我们假设工作簿中的数据有一个名为“备注”的列用于记录数据来源。如果没有这个列,我们将无法获取数据来源。
阅读全文
相关推荐


















