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

pandas数据处理(四)---批量拆分、合并Excel⽂件pandas批量拆分、合并Excel⽂件
⼀、将⼤的Excel⽂件拆分成多个⼩的Excel
使⽤df.iloc⽅法,将⼀个⼤的dataframe拆分成多个⼩的dataframe
再⽤_excel保存成⼩的excel
work_dir ="./datasets/excel_split_merge"#操作⽬录
长安街 车祸
split_dir = f"{work_dir}/splits"
impot os
西安文理学院学报import pandas as pd
if not ists(split_dir):
小谢谢是谁
os.mkdir(split_dir)
#读取数据
import pandas as pd
df_source = l(f"{work_dir}/crazyant_blog_articles_source.xlsx")
total_roe_count = df_source.shape[0]#总⾏数
#均等拆分
user_name =["张三","李四","王五","赵六"]#将⼤的excel分给这四个⼈
split_size = total_row_count //len(user_name)#均分
if total_row_count %len(user_name)!=0:李冬民
split_size +=1
#拆分成多个dataframe
df_subs =[]
for idx, user_name in enumerate(user_name):
begin = idx * split_size    #iloc的开始索引
end = begin+split_size    #iloc的结束索引
#实现df按照iloc划分
df_subs = df_source.iloc[begin:end]
#将每个⼦df存⼊列表
df_subs.append((idx,user_name,df_sub))
#将每个dataframe存⼊excel我的性
for idx, user_name, df_sub in enumerate(df_subs):
file_name = f"{split_dir}/crazyant_blog_articles_{idx}_{user_name}.xlsx"
_excel(file_name, index =False)
⼆、将多个Excel⽂件合并成⼤xcel
遍历⽂件夹得到要合并的Excel⽂件列表:os.listdir
分别读取dataframe,给每个df添加⼀⾏⽤于标记来源
使⽤pd.concat进⾏df批量合并
将合并后的dataframe输出到excel
#遍历⽂件夹,得到要合并的Excel名称列表
import os
excel_names =[]
for excel_name in os.listdir(split_dir):
excel_names.append(excel_name)
#分别读取到dataframe
df_list =[]
for excel_name in excel_names:
#读取每个excel到df
十七大报告excel_path = f"{split_dir}/{excel_name}"
df_split = pd.read_excel(excel_path)
username = place("crazyant_blog_articles_","").replace(".xlsx","")[2:] #给每个df添加1列,即⽤户名字
df_split["username"]= username
df.split.append(df_split)
#使⽤pd.concat进⾏合并
df_merged = pd.concat(df_list)
_excel(f"{work_dir}/crazyant_blog_articles_merged.xlsx",index=False)

本文发布于:2024-09-21 20:47:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/146837.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:合并   得到   件夹   批量   长安街   西安   实现
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议