Pandas批量拆分Excel与合并Excel

  • 将一个大Excel等份拆成多个Excel
  • 合并多个小Excel到一个大Excel

F盘一个Excel表格,具体路径是 F:\Temp\data\work.xlsx。里面记录了三百多个任务,现在要将这些任务相对平均的分到六个人身上。

第一部分。源文件work.xlsx,拆分成六部分。

第二部分。将六个文件合并成一个大文件,work_user.xlsx。

data文件夹 splits文件夹

将一个大Excel等份拆成多个Excel

work_dir="F:/Temp/data"
splits_dir=f"{work_dir}/splits"# 判断工作目录下有没有一个名为 splits 的文件夹。如果没有就创建一个,有就不动
import os
if not os.path.exists(splits_dir):os.mkdir(splits_dir)import pandas as pd
df_source = pd.read_excel(f'{work_dir}/work.xlsx')
total_row_count = df_source.shape[0]# 这个大excel,会拆分给这几个人
user_names = ["xiao_shuai", "xiao_wang", "xiao_ming", "xiao_lei", "xiao_bo", "xiao_hong"]
# 每个人的任务数目
split_size = total_row_count // len(user_names)
if total_row_count % len(user_names) != 0:split_size += 1# 拆分成多个dataframe
df_subs = []
for idx, user_name in enumerate(user_names):# iloc的开始索引begin = idx*split_size# iloc的结束索引end = begin+split_size# 实现df按照iloc拆分df_sub = df_source.iloc[begin:end]# 将每个子df存入列表df_subs.append((idx, user_name, df_sub))# 将每个datafame存入excel
for idx, user_name, df_sub in df_subs:file_name = f"{splits_dir}/work_{idx}_{user_name}.xlsx"df_sub.to_excel(file_name, index=False)

合并多个小Excel到一个大Excel

  1. 遍历文件夹,得到要合并的Excel文件列表
  2. 分别读取到dataframe,给每个df添加一列用于标记来源
  3. 使用pd.concat进行df批量合并
  4. 将合并后的dataframe输出到excel
work_dir="F:/Temp/data"
splits_dir=f"{work_dir}/splits"# 遍历文件夹,得到要合并的Excel名称列表
import os
excel_names = []
for excel_name in os.listdir(splits_dir):excel_names.append(excel_name)# 分别读取到dataframe
import pandas as pddf_list = []for excel_name in excel_names:# 读取每个excel到dfexcel_path = f"{splits_dir}/{excel_name}"df_split = pd.read_excel(excel_path)# 得到usernameusername = excel_name.replace("work_", "").replace(".xlsx", "")[2:]# 给每个df添加1列,即用户名字df_split["username"] = usernamedf_list.append(df_split)# 使用pd.concat进行合并
df_merged = pd.concat(df_list)# 将合并后的dataframe输出到excel
df_merged.to_excel(f"{work_dir}/work_user.xlsx", index=False)

Pandas批量拆分Excel与合并Excel相关推荐

  1. Part14:Pandas批量拆分与合并Excel文件

    Pandas批量拆分Excel与合并Excel 实例演示: 1.将一个大Excel等份拆成多个Excel 2.将多个小Excel合并成一个大Excel并标记来源 #本节课的数据目录work_dir w ...

  2. pandas批量拆分、合并EXCEl

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.拆分成小表格 二.合并excel 1.介绍 2.代码 总结 前言 提示:这里可以添加本文要记录的大概内容: 将一个 ...

  3. Pandas批量拆分Excel与合并Excel(十四)

    实例演示: 将一个大Excel等份拆成多个Excel 将多个小Excel合并成一个大Excel并标记来源 1.读取源Excel到Pandas work_dir="./course_datas ...

  4. pandas 批量读取excel_怎样使用Pandas批量拆分与合并Excel文件?

    原始文件.合并后的文件: 拆分后的小文件: 实例演示:将一个大Excel等份拆成多个Excel 将多个小Excel合并成一个大Excel并标记来源work_dir="./course_dat ...

  5. java excel相同的合并_java servlet导出EXCEL并合并EXCEL相同值的单元格(Apache POI技术)...

    @ResponseBody @RequestMapping(params = "method=loadOutExcel") public void loadOutExcel(Htt ...

  6. java excel 分页合并,excel分页-Excel办公技巧——完整显示跨页合并的单元格

    在日常工作中,我们经常会遇到大量合并的单元格,而部分合并的单元格会跨页显示,也即:合并的单元格区域显示在两页中.如下图示: 而我们最终想要的打印效果,如下: 那么,上述效果是如何实现的呢?方法如下: ...

  7. pandas数据处理(四)--- 批量拆分、合并Excel文件

    pandas批量拆分.合并Excel文件 一.将大的Excel文件拆分成多个小的Excel 使用df.iloc方法,将一个大的dataframe拆分成多个小的dataframe 再用dtaframe. ...

  8. 用Python把它做出来:EXCEL文件合并/拆分工具 (含VBA版)

    前言: 大家好,这里是Seon塞翁.当你收集了 n 个人的 EXCEL 记录表,需要将它们汇成一个总表时你会怎么做呢?如果不通过技术手段,要一个个打开再复制粘贴也太麻烦了吧!此时就需要一个通过几秒钟的 ...

  9. excel 按数据拆分 xlam_利用EXCEL提升效率之五分钟缩短至五秒批量合并EXCEL批量转换PDF批量上传报关单随附单据___EXCELVBA...

    进出口报关中,需要对各种发票,装箱,合同等进行重复的操作: 打印---盖章---扫描---重命名等操作. 之后将上述文件上传至单一窗口的报关单随附单据, 报关行通常需要安排一人专门进行上述操作, 每套 ...

最新文章

  1. [YTU]_2566( 虚基类练习:动物)
  2. 如何在IE地址栏显示自己的小图标
  3. 一个适用各类场合的Makefile模板
  4. 机器人总动员中的小草_机器人总动员读后感
  5. 程门立雪的故事,成语程门立雪的主人公是谁?
  6. CSDN审核机制有点迷惑,决定逐步搬迁到简书
  7. 获取客户端访问的ip地址
  8. 值类型和引用类型传值通俗解析
  9. 【网络安全】PGP/GPG优质教程汇总
  10. 新建android模拟器无法拨号 真机可以拨号,Android模拟器相关操作设置
  11. js判断对象上是否含有某个属性
  12. pcl小知识(十二)—— 斯坦福兔子和其他图形学模型数据下载
  13. Java求树的深度(真的是树,而不是二叉树)#全网首发#
  14. python 空数组_Python笔记
  15. 百度地图API和高德地图API资料集锦
  16. 如何安装计算机刻录程序,详解怎么用电脑刻录光盘
  17. 消防气体灭火系统(二)
  18. Java高级开发面试题整理
  19. python让灯闪烁_【掌控】mpython-光线传感器-一闪一闪亮晶晶灯光秀 - DF创客社区 - 分享创造的喜悦...
  20. 新海诚画集[秒速5センチメートル:樱花抄·學舍]...

热门文章

  1. 信用卡和借记卡、储蓄卡
  2. asp.net毕业生信息管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
  3. useradd 与adduser的区别
  4. C语言获取norflash大小,NOR Flash 编程
  5. linux 上端口占用的程序
  6. Linux安装高版本tshark(3.x版本)
  7. 文献阅读系列-2|TBC-Net: A real-time detector for infrared small
  8. vue使用element-ui table 清除表格背景色以及表格边框线
  9. 微服务系列笔记之Mico Api详解
  10. jack编译突然无法编译的问题