python 模拟wps 从文件夹中按相同分公司汇总表格 其中按照不同类型汇总到多个sheet中 然后输出新的表格
时间: 2024-12-25 15:27:40 浏览: 5
在Python中,你可以使用`pandas`库来处理Excel文件,`os`库来遍历文件夹,以及`openpyxl`库来读取、修改Excel工作簿。下面是一个基本的步骤来模拟WPS从文件夹中汇总Excel表格,按照分公司分类,并将每个类型的汇总数据存入不同的sheet:
首先,安装需要的库(如果未安装):
```bash
pip install pandas openpyxl
```
接着,创建一个函数来处理单个文件:
```python
import os
import pandas as pd
from openpyxl import load_workbook
def process_excel_file(input_folder, output_wb):
for filename in os.listdir(input_folder):
if filename.endswith(".xlsx"):
filepath = os.path.join(input_folder, filename)
# 读取Excel文件
data = pd.read_excel(filepath)
# 假设数据中有一个'Company'列用于区分分公司,一个'Type'列用于区分类型
data_grouped = data.groupby(['Company', 'Type']).sum() # 根据分公司和类型进行汇总
# 创建新工作表并写入汇总数据
for name, group in data_grouped:
sheet_name = f"{name[0]}_{name[1]}" # 名称格式为:公司名称_类型名称
ws = output_wb.create_sheet(sheet_name)
for _, row in group.iterrows():
ws.append(row)
```
然后,使用此函数处理整个文件夹并将结果写入一个新的Excel文件:
```python
def main():
input_folder = "your_input_folder" # 输入文件夹路径
output_filename = "output.xlsx" # 输出文件名
output_wb = Workbook() # 创建新的Excel工作簿
# 调用函数处理文件夹中的所有文件
process_excel_file(input_folder, output_wb)
# 保存工作簿
output_wb.save(output_filename)
if __name__ == "__main__":
main()
```
在这个示例中,你需要替换`input_folder`为你实际的文件夹路径,并且根据实际情况调整数据字段的名称。如果你的文件结构或需求有所不同,可能需要相应地调整代码。
阅读全文