原始文件、合并后的文件:

拆分后的小文件:

实例演示:将一个大Excel等份拆成多个Excel

将多个小Excel合并成一个大Excel并标记来源work_dir="./course_datas/c15_excel_split_merge"

splits_dir=f"{work_dir}/splits"

import os

if not os.path.exists(splits_dir):

os.mkdir(splits_dir)

0、读取源Excel到Pandasimport pandas as pddf_source = pd.read_excel(f"{work_dir}/crazyant_blog_articles_source.xlsx")df_source.head()idtitletags02585Tensorflow怎样接收变长列表特征python,tensorflow,特征工程

12583Pandas实现数据的合并concatpandas,python,数据分析

22574Pandas的Index索引有什么用途?pandas,python,数据分析

32564机器学习常用数据集大全python,机器学习

42561一个数据科学家的修炼路径数据分析df_source.indexRangeIndex(start=0, stop=258, step=1)df_source.shape(258, 3)total_row_count = df_source.shape[0]

total_row_count258

一、将一个大Excel等份拆成多个Excel使用df.iloc方法,将一个大的dataframe,拆分成多个小dataframe

将使用dataframe.to_excel保存每个小Excel

1、计算拆分后的每个excel的行数# 这个大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

split_size43

2、拆分成多个dataframedf_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))

3、将每个datafame存入excelfor idx, user_name, df_sub in df_subs:

file_name = f"{splits_dir}/crazyant_blog_articles_{idx}_{user_name}.xlsx"

df_sub.to_excel(file_name, index=False)

二、合并多个小Excel到一个大Excel遍历文件夹,得到要合并的Excel文件列表

分别读取到dataframe,给每个df添加一列用于标记来源

使用pd.concat进行df批量合并

将合并后的dataframe输出到excel

1. 遍历文件夹,得到要合并的Excel名称列表import os

excel_names = []

for excel_name in os.listdir(splits_dir):

excel_names.append(excel_name)

excel_names['crazyant_blog_articles_0_xiao_shuai.xlsx',

'crazyant_blog_articles_1_xiao_wang.xlsx',

'crazyant_blog_articles_2_xiao_ming.xlsx',

'crazyant_blog_articles_3_xiao_lei.xlsx',

'crazyant_blog_articles_4_xiao_bo.xlsx',

'crazyant_blog_articles_5_xiao_hong.xlsx']

2. 分别读取到dataframedf_list = []

for excel_name in excel_names:

# 读取每个excel到df

excel_path = f"{splits_dir}/{excel_name}"

df_split = pd.read_excel(excel_path)

# 得到username

username = excel_name.replace("crazyant_blog_articles_", "").replace(".xlsx", "")[2:]

print(excel_name, username)

# 给每个df添加1列,即用户名字

df_split["username"] = username

df_list.append(df_split)crazyant_blog_articles_0_xiao_shuai.xlsx xiao_shuai

crazyant_blog_articles_1_xiao_wang.xlsx xiao_wang

crazyant_blog_articles_2_xiao_ming.xlsx xiao_ming

crazyant_blog_articles_3_xiao_lei.xlsx xiao_lei

crazyant_blog_articles_4_xiao_bo.xlsx xiao_bo

crazyant_blog_articles_5_xiao_hong.xlsx xiao_hong

3. 使用pd.concat进行合并df_merged = pd.concat(df_list)df_merged.shape(258, 4)df_merged.head()idtitletagsusername02585Tensorflow怎样接收变长列表特征python,tensorflow,特征工程xiao_shuai

12583Pandas实现数据的合并concatpandas,python,数据分析xiao_shuai

22574Pandas的Index索引有什么用途?pandas,python,数据分析xiao_shuai

32564机器学习常用数据集大全python,机器学习xiao_shuai

42561一个数据科学家的修炼路径数据分析xiao_shuaidf_merged["username"].value_counts()xiao_hong     43

xiao_bo       43

xiao_shuai    43

xiao_lei      43

xiao_wang     43

xiao_ming     43

Name: username, dtype: int64

4. 将合并后的dataframe输出到exceldf_merged.to_excel(f"{work_dir}/crazyant_blog_articles_merged.xlsx", index=False)

pandas 批量读取excel_怎样使用Pandas批量拆分与合并Excel文件?相关推荐

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

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

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

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

  3. python批量提取word指定内容_使用python批量读取word文档并整理关键信息到excel表格的实例...

    目标 最近实验室里成立了一个计算机兴趣小组 倡议大家多把自己解决问题的经验记录并分享 就像在CSDN写博客一样 虽然刚刚起步 但考虑到后面此类经验记录的资料会越来越多 所以一开始就要做好模板设计(如下 ...

  4. python pandas csv读取_如何用 pandas 读取 csv 和 Excel 数据

    本文采用真实的股票数据作为案例,教你如何在Python中读取常用的数据文件. 内容: 读取csv数据 读取Excel数据 合并多张表 数据文件下载地址: 读取csv数据 csv文件用逗号来分隔数值,是 ...

  5. excel处置4000行数据卡_【R语言】5行代码批量合并Excel文件,并增加文件来源列...

    看到一篇文章, 裴帅帅:Python使用9行代码批量合并Excel文件​zhuanlan.zhihu.com 咱们R语言也不能落后啊,5行代码批量合并Excel文件,再多做一步:增加文件来源列. 说是 ...

  6. python自动下载邮件附件_Python批量下载电子邮件附件并汇总合并Excel文件

    原标题:Python批量下载电子邮件附件并汇总合并Excel文件 前几天在公众号搞了一波送书活动,详见福利:免费赠送240本Python教材,该文推送之后,立刻收到了大量的样书申请表,那么接下来的工作 ...

  7. Python批量下载电子邮件附件并汇总合并Excel文件

    前几天在公众号搞了一波送书活动,详见福利:免费赠送240本Python教材,该文推送之后,立刻收到了大量的样书申请表,那么接下来的工作就是下载这些邮件附件并汇总信息准备邮寄.对于这样重复性很强且没有太 ...

  8. 如何批量合并Excel文件和工作表 - Excel合并器使用教程

    Excel是人们用于创建日常工作表和统计信息的最流行的工具,在我们工作中经常接触到Excel的XLSX和XLS格式文件.不少朋友应该有时会发现,管理太多的Excel工作表和文件是一件头疼的事情,经常需 ...

  9. pandas批量拆分、合并EXCEl

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

最新文章

  1. python怎样在已有excel文件指定行写入-Python中使用第三方库xlrd来写入Excel文件示例...
  2. 移动云11.11,钜惠High不停!
  3. mysql odbc.ini_ODBC连接mysql
  4. java test 用法,pytest基本用法简介
  5. aliez歌词_Aliez歌词
  6. 常用的几个提高iOS开发效率的开源类库及工具
  7. Python基础学习Day3 数据类型的转换、int、str、bool、字符串的常用方法、for循环...
  8. LimeSDR 中文教程 (九)
  9. 用rtl8139网卡制作的bios编程器(不用并口)
  10. pacman 查询_pacman命令
  11. 各宽带接入服务商简称整理
  12. 计算机组成RAW相关,计算机组成和系统结构习题解答.ppt
  13. 微信小程序自定义modal模态框
  14. UE4使用贴花(Decal)
  15. 中科院大学计算机科学与技术王伟强,王伟强-中国科学院大学-UCAS
  16. word2016 明明设置了默认粘贴为“仅保留文本”,可是每次粘贴的时候还是带源格式怎么办?
  17. 【每日早报】2019/09/18
  18. 使用 T-SQL 语句完成数据综合检索
  19. UE4.26源码版学习广域网独立服务器时遇到的客户端运行黑屏问题
  20. 集米社浅谈下那些令网兼者疯狂的时代。

热门文章

  1. 什么是害怕恋爱综合症
  2. CSS笔记11 2D与3D转换
  3. 面临裁员调薪,你或许可以考虑这些新职业
  4. Discuz宣布关闭发言权,社区时代终结
  5. Python之探索式数据分析
  6. 喷泉装置(贪心问题)
  7. Mysql的新增数据
  8. 内容分发——插槽solt(重点)
  9. 增长量计算n+1原则_数资备考技巧——资料分析题型之增长量计算
  10. JavaCV 实现怀旧滤镜