Python批量合并Excel表

这篇具有很好参考价值的文章主要介绍了Python批量合并Excel表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python合并多个excel,python,excel,pandas

一、问题的提出

现收集到多个Excel表,需要对这些表进行汇总合并。但是这些Excel表并不规则,有不少空列,而且这些列名虽然一致,但是顺序各不相同,所以汇总起来并不是那么简单。单独的一个Excel表显示如下:

python合并多个excel,python,excel,pandas

Excel表

二、问题的解决

起初考虑用openpyxl,但是由于问题较为复杂,最后决定用os和pandas来解决。

第一步:用os来遍历当前目录下的所有excel表格,用列表表达式来生成这些文件名的列表:

import os
files = [file for file in os.listdir(".") if file.endswith(".xlsx") if not file.endswith("~")]

第二步:导入pandas,批量读取Excel表,删除空例。

    df =  pd.read_excel(file, index_col=None,header = 0)
    df1 = df.dropna(how='all', axis=1,inplace=False) #inplace=True不创建新的对象
    lst.append(df1)

第三步:利用pandas中的concat来按照列名合并数据框,最后把数据框转化为Excel,最终形成以下代码:

import pandas as pd
import os
lst = []
files = [file for file in os.listdir(".") if file.endswith(".xlsx") if not file.endswith("~")]
for file in files:
    df =  pd.read_excel(file, index_col=None,header = 0)
    df1 = df.dropna(how='all', axis=1,inplace=False) #inplace=True不创建新的对象
    lst.append(df1)
sava_data = pd.concat(lst,axis = 0,ignore_index=True) #ignore_index 重建索引 axis=1 列空值
sava_data.to_excel("合并.xlsx",index=False,header=1) #设置无索引

三、合并的Excel表

以下是合并后的Excel表展示,效果还不错,保持了原为表头和格式,而且排列整齐。

python合并多个excel,python,excel,pandas

合并后的Excel表文章来源地址https://www.toymoban.com/news/detail-634546.html

四、学后反思

  1. 用习惯了openpyxl就不太喜欢用pandas,主要是因为pandas比较复杂,但是它能解决复杂的问题,有机会以还是要认真地学习。
  2. pandas的功能强大,学起来虽然不容易,但是可以帮助我们解决很多现实问题。唯一的缺点是它做成的程序打包以后个头比较大,需要的时间也更长。比如上面的10行代码,打包以后竟然达到了90M。打包后程序运行速度也不错,整理的数据更整齐,格式更为规范,便于后期的分析和处理。
  3. 最后还是想强调一点,很多Python包的学习要以项目为导向,从解决现实问题入手,在了解pandas基础上,通过大胆尝试,小心验证,边学习边实践,收获才能收获满满。

到了这里,关于Python批量合并Excel表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python数据分析】利用Python将多个EXCEL表格合并为一个EXCEL表格

            如何将EXCEL的多个表格合并成一个表格呢?比如每月销售额是一个单独的表格,我想把它们合并成一个表格,今天就与大家分享如何利用Python数据分析3分钟搞定,不管你要合并多少个文件,代码总是那么几行。不多说了,上案例。          现在有3个月的销售额,需

    2023年04月24日
    浏览(46)
  • 【Python】excel多个sheet数据合并实例

    因为,每天都会有的大量excel报表汇总处理任务,所以写了一个脚本来处理。 就是找出每一个excel中特定的sheet,把这些sheet的特定列读取出来合并到一个sheet中。 因为每一个sheet的数据都不太一样,所以稍微麻烦一点,下面使用openpyxl方式和pandas两种方式来处理。 使用openpyx

    2024年02月02日
    浏览(48)
  • Python实现Excel的批量合并和拆分操作

    引言 Excel是一种常用的电子表格软件,广泛应用于数据处理、数据分析和报表生成等工作中。在处理大量的Excel文件时,人工逐个操作无疑是费时费力的。然而,通过使用Python编程语言和相关扩展库,我们可以实现对Excel文件的批量合并和拆分操作,以提高工作效率。本文将详

    2024年02月12日
    浏览(96)
  • 4种方法用Python批量实现多Excel多Sheet合并

    目录 方法一:使用pandas库 方法二:使用openpyxl库 方法三:使用xlrd和xlwt库 方法四:使用os和glob库 在数据处理中,经常需要将多个Excel文件中的多个工作表进行合并。以下介绍了4种方法,使用Python批量实现多Excel多Sheet的合并。 Pandas是Python中常用的数据处理库,提供了简便的

    2024年01月19日
    浏览(51)
  • Python 自动获取大批量excel数据并填写到网页表单(pandas;selenium)

    自动获取大批量excel数据并填写到网页表单 部分网页获取下拉列表点击的方式有所差异 这个请根据网页源码自做选择 一定要学会使用IPDB调试工具 太好用了!!!! 可能需要pip update一下 看提示 很好解决 没有报错最好啦 Python真是太好用了 办公利器啊!!!!

    2024年02月12日
    浏览(48)
  • 将多个EXCEL 合并一个EXCEL多个sheet

    合并老版本xls using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using NPOI.HSSF.UserModel; using System.IO; using NPOI.XSSF.UserModel; namespace Merge_Excel {     public partial class Form1

    2024年02月10日
    浏览(43)
  • Pandas快速合并多张excel表格

    目录 一、Excel表格命名存在规律的情况下 二、Excel表格文件名不规律的情况下 1.首先将所有excel表格放到一个文件夹下面 2.用pandas进行合并 三、身份证号合并乱码解决 最近用Pandas合并表格,发现效率非常高,现总结以下两种方法: 对身份证号码合并的时候,会因为编码方式

    2024年02月08日
    浏览(42)
  • 多个excel文件合并为一个excel

    Python openpyxl库实现将同一目录下的excel文件合并为一个excel功能(包含格式,不含宏),运行程序后,输入要生成的excel文件名称即可

    2024年02月16日
    浏览(45)
  • Python Pandas 处理Excel数据 制图

    目录 1、饼状图  2、条形统计图

    2024年02月11日
    浏览(38)
  • 初学python系列: pandas操作excel

    媳妇工作中经常用到excel处理,想用python处理excel更高效,所以自学了python,觉得python比Java还是简单多了,没有变量类型声明,比Java也就多了元组,各种库很丰富。 需求是: 汇总两个excel中 列,放到一个新的excel中,不允许有重复的列内容 代码编辑器:pycharm社区版本(根本

    2024年01月22日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包