Pandas怎样实现批量拆分Excel,代码是什么
Admin 2022-08-18 群英技术资讯 279 次浏览
将一个EXCEL等份拆成多个EXCEL
将多个小EXCEL合并成一个大EXCEL并标记来源
提示:以下是本篇文章正文内容,下面案例可供参考
代码如下(示例):
import pandas as pd import os work_dir=r"G:\360Downloads\myself\zuoye\合并拆分" splits_dir=f"{work_dir}\splits" #如果不存在splits文件夹则创建它 if not os.path.exists(splits_dir): os.mkdir(splits_dir) #引入源文件 df_source=pd.read_excel(f"{work_dir}/5月份台账.xlsx",sheet_name="5月份台账87334",skiprows=2) df_source.head(3) df_source.index df_source.shape total_row_count=df_source.shape[0] total_row_count #拆分成多个大小相同的excel #1.使用df.iloc方法 #2.使用dataframe.to_excel保存到每个小excel中 #计算拆分后小excel的行数 user_names=["xiaoA","xiaoB","xiaoC","wmy","jzz","xmw"] #每个人的任务数 split_size=total_row_count//len(user_names) if total_row_count%len(user_names)!=0: split_size+=1 split_size #拆分多个dataframe df_subs=[] #enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列 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)) #将每个dataframe存入excel for idx,user_name,df_sub in df_subs: filename=f"{splits_dir}/ee_{idx}_{user_name}.xlsx" df_sub.to_excel(filename,index=False)
1、遍历文件夹,得到要合并的excel文件列表
2、分别读取到dataframe,给每一列标记来源
3、使用pd.conca进行df批量合并
4、将合并后的dataframe输出到excel
代码如下(示例):
import pandas as pd import os work_dir=r"G:\360Downloads\myself\zuoye\合并拆分" splits_dir=f"{work_dir}\splits" #如果不存在splits文件夹则创建它 if not os.path.exists(splits_dir): os.mkdir(splits_dir) #遍历文件夹,得到要合并的excel名称列表 excel_names=[] for excel_name in os.listdir(splits_dir): excel_names.append(excel_name) excel_names df_list=[] for excel_name in excel_names: #读取每个excel到df excel_path=f"{splits_dir}/{excel_name}" df_split=pd.read_excel(excel_path) username=excel_name.replace("ee_","").replace(".xlsx","")[2:] print(excel_name,username) #添加列,用户名字 df_split["username"]=username df_list.append(df_split) #concat合并 df_merged=pd.concat(df_list) df_merged.shape df_merged.head() df_merged["username"].value_counts() #输出 df_merged.to_excel(f"{work_dir}/merged.xlsx",index=False)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
内容介绍前言变量赋值变量类型对象引用对象身份变量名保留字(关键字)前言看到这里已经学习了创建各种Python数据类型的值。并且显示的值都是文字或常量值。>>>print(9.98)9.98但是对
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。1)忘记在...
这篇文章主要介绍了Django使用mysqlclient服务连接并写入数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示:一、python
这篇文章介绍了Python实现猜数字小游戏,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以收藏下,方便下次浏览观看
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008