赞
踩
在工作中,我们常会用到将EXCEL拆分/合并为多个工作表/簿,如全国的订单表,需要根据省份列拆分下发至对应的省、各省份数据需要汇总、...... 借助Python应该如何操作呢?
根据 “省份” 列的不同值将数据拆分同一个工作簿下多个工作表。
仅需将 下述代码中的 文件路径、拆分字段名 替换你自己的即可
- # 导入所需要的模块,没有就去终端安装 pip install pandas openpyxl
- import pandas as pd
- from openpyxl import Workbook
- from openpyxl.utils.dataframe import dataframe_to_rows
-
-
-
- # 读取需要拆分的excel 文件
- file_path = 'D:/data/全国订单.xlsx'
- df = pd.read_excel(file_path)
- df.head()
-
-
- # 创建一个新的 Excel 工作簿
- wb = Workbook()
- ws = wb.active
-
-
- # 根据 省份 列内容拆分成多个工作表
- for category in df['省份'].unique():
- df_category = df[df['省份'] == category]
- ws = wb.create_sheet(title=category)
- for r in dataframe_to_rows(df_category, index=False, header=True):
- ws.append(r)
-
-
- # 保存工作簿
- output_file = 'D:/data/aa.xlsx'
- wb.save(output_file)

将同一个工作簿下多个工作表根合并为一个工作表。
仅需将 下述代码中的 文件路径 替换你自己的即可
- # 导入所需要的模块,没有就去终端安装 pip install pandas
- import pandas as pd
-
- # 读取 Excel 文件中的多个工作表
- file_path = 'D:/data/各省订单.xlsx'
- xl = pd.ExcelFile(file_path)
- dfs = {sheet_name: xl.parse(sheet_name) for sheet_name in xl.sheet_names}
-
- # 合并多个工作表数据为一个 DataFrame
- combined_data = pd.concat(dfs.values(), ignore_index=True)
-
- # 将合并后的数据保存到新的 Excel 文件
- output_file = 'D:/data/全国_data.xlsx'
- combined_data.to_excel(output_file, index=False)
根据 “省份” 列的不同值将数据拆分为多个工作簿。
仅需将 下述代码中的 文件路径、拆分字段名 替换你自己的即可
- # 导入所需要的模块,没有就去终端安装 pip install pandas
- import pandas as pd
-
- # 读取原始 Excel 文件
- file_path = 'D:/data/全国订单.xlsx'
- df = pd.read_excel(file_path)
- df.head()
-
-
- # 根据列内容拆分成多个工作簿
- for category in df['省份'].unique():
- df_category = df[df['省份'] == category]
- new_file_path = f'D:/data/{category}.xlsx' # 新文件名
- df_category.to_excel(new_file_path, index=False)
将固定文件夹下的所有各省份数据,汇总成全国的订单表;
仅需将 下述代码中的 文件路径 替换你自己的即可;
- # 导入所需要的模块,没有就去终端安装 pip install pandas/os
- import os
- import pandas as pd
-
- # 读取原始文件路径
- folder_path = 'D:/data/'
-
-
- # 读取文件夹下所有 Excel 文件并合并
- all_data = pd.DataFrame()
- for file in os.listdir(folder_path):
- if file.endswith('.xlsx'):
- file_path = os.path.join(folder_path, file)
- df = pd.read_excel(file_path)
- all_data = pd.concat([all_data, df], ignore_index=True)
-
-
- # 将合并后的数据保存到新的 Excel 文件
- output_file = 'D:/data/全国订单.xlsx'
- all_data.to_excel(output_file, index=False)

仅需替换 代码中的 路径、字段名 即可轻松实现Excel合并/拆分多个工作表/簿,是不是超级简单呢?快点收藏起来吧。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。