当前位置:   article > 正文

Excel合并/拆分多个工作表/簿(Python实现)_python将excel分成多个文件

python将excel分成多个文件

概述

在工作中,我们常会用到将EXCEL拆分/合并为多个工作表/簿,如全国的订单表,需要根据省份列拆分下发至对应的省、各省份数据需要汇总、...... 借助Python应该如何操作呢?

1. EXCEL拆分成多个工作表

需求:

根据 “省份” 列的不同值将数据拆分同一个工作簿下多个工作表。

操作:

仅需将 下述代码中的 文件路径、拆分字段名 替换你自己的即可

代码:

  1. # 导入所需要的模块,没有就去终端安装 pip install pandas openpyxl
  2. import pandas as pd
  3. from openpyxl import Workbook
  4. from openpyxl.utils.dataframe import dataframe_to_rows
  5. # 读取需要拆分的excel 文件
  6. file_path = 'D:/data/全国订单.xlsx'
  7. df = pd.read_excel(file_path)
  8. df.head()
  9. # 创建一个新的 Excel 工作簿
  10. wb = Workbook()
  11. ws = wb.active
  12. # 根据 省份 列内容拆分成多个工作表
  13. for category in df['省份'].unique():
  14. df_category = df[df['省份'] == category]
  15. ws = wb.create_sheet(title=category)
  16. for r in dataframe_to_rows(df_category, index=False, header=True):
  17. ws.append(r)
  18. # 保存工作簿
  19. output_file = 'D:/data/aa.xlsx'
  20. wb.save(output_file)

2. Excel合并多个工作表

需求:

将同一个工作簿下多个工作表根合并为一个工作表。

操作:

仅需将 下述代码中的 文件路径 替换你自己的即可

代码:

  1. # 导入所需要的模块,没有就去终端安装 pip install pandas
  2. import pandas as pd
  3. # 读取 Excel 文件中的多个工作表
  4. file_path = 'D:/data/各省订单.xlsx'
  5. xl = pd.ExcelFile(file_path)
  6. dfs = {sheet_name: xl.parse(sheet_name) for sheet_name in xl.sheet_names}
  7. # 合并多个工作表数据为一个 DataFrame
  8. combined_data = pd.concat(dfs.values(), ignore_index=True)
  9. # 将合并后的数据保存到新的 Excel 文件
  10. output_file = 'D:/data/全国_data.xlsx'
  11. combined_data.to_excel(output_file, index=False)

3. EXCEL拆分成多个工作薄

需求:

根据 “省份” 列的不同值将数据拆分为多个工作簿。

操作:

仅需将 下述代码中的 文件路径、拆分字段名 替换你自己的即可

代码:

  1. # 导入所需要的模块,没有就去终端安装 pip install pandas
  2. import pandas as pd
  3. # 读取原始 Excel 文件
  4. file_path = 'D:/data/全国订单.xlsx'
  5. df = pd.read_excel(file_path)
  6. df.head()
  7. # 根据列内容拆分成多个工作簿
  8. for category in df['省份'].unique():
  9. df_category = df[df['省份'] == category]
  10. new_file_path = f'D:/data/{category}.xlsx' # 新文件名
  11. df_category.to_excel(new_file_path, index=False)

4. Excel合并多个工作簿

需求:

将固定文件夹下的所有各省份数据,汇总成全国的订单表;

操作:

仅需将 下述代码中的 文件路径 替换你自己的即可;

代码:

  1. # 导入所需要的模块,没有就去终端安装 pip install pandas/os
  2. import os
  3. import pandas as pd
  4. # 读取原始文件路径
  5. folder_path = 'D:/data/'
  6. # 读取文件夹下所有 Excel 文件并合并
  7. all_data = pd.DataFrame()
  8. for file in os.listdir(folder_path):
  9. if file.endswith('.xlsx'):
  10. file_path = os.path.join(folder_path, file)
  11. df = pd.read_excel(file_path)
  12. all_data = pd.concat([all_data, df], ignore_index=True)
  13. # 将合并后的数据保存到新的 Excel 文件
  14. output_file = 'D:/data/全国订单.xlsx'
  15. all_data.to_excel(output_file, index=False)

总结

仅需替换 代码中的 路径字段名 即可轻松实现Excel合并/拆分多个工作表/簿,是不是超级简单呢?快点收藏起来吧。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/910144
推荐阅读
相关标签
  

闽ICP备14008679号