您的位置:  首页 > 技术杂谈 > 正文

自动合并Excel的4种方法,pandas自动化办公,YYDS

2022-07-18 19:00 https://my.oschina.net/u/3888978/blog/5554813 Python自动化办公社区 次阅读 条评论

大家好,这里是程序员晚枫。

上次我们通过阅读源码,分享了:官方推荐:6种Pandas读取Excel的方法,太方便了~

今天我们继续阅读源码,学一个实用技巧:如何2个excel里的合并数据?

每个方法都配了一张合并效果图,建议小白直接看图,有不理解的再配合文字阅读。

以下方法,按照从易到难排序。有些方法文字描述起来比较抽象,但看图一定可以秒懂~

一、源码解析

通过研究源码可以发现,除去被淘汰的append方法,目前通用的合并方法一共有4个,

  • concat、merge,来自源码的./pandas/core/reshape文件夹,是pandas本身可以调用的;
  • join、combine,来自源码的./pandas/core/frame.py文件,是只能由dataframe调用的。

每种方法都有复杂的用法,本文主要是入门引导性说明。

所以每种方法只给大家介绍一个最容易理解的效果,如果想深入学习,可以在评论区进行讨论~

二、方法说明

1、concat

对2个有着相同列名的excel表格,进行上下拼接式的合并。

应用场景

当我想把自己所有平台账号的基本信息,汇总到一个表格里。如下图所示,一行代码完成合并。👇

append(已经被淘汰了!!)

这个方法很多文章都在介绍。

其实它和concat效果一模一样,而且pandas官方在源码里明确提示了:这个方法即将在新的pandas版本里淘汰,不要使用了,请直接使用concat方法。

FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.

下次再看到有介绍pandas用append方法进行合并的文章,你知道该怎么做了吧?

2、merge

merge合并稍微复杂一点。

我们举个简单的例子:

在同一行里,罗列出我所有平台的关注数,如下图所示。👇

merge更关心列之间的合并。

3、join

如上文所述,join是对数据的精细化操作。

例如我有的文件有2行,有的文件有1行,但是他们的格式是一样的,我想对它们进行横向的拼接。有些文件没有第2行的情况下,自动填充空白,方便我的后续操作。如下图所示👇

join更关心行之间的合并。

4、combine

这是一个最复杂的方法,因为它需要在合并时进行计算。

例子

我想看一下哪天的微博浏览量最少,于是在合并的同时,进行了大小比较的计算。如下图所示👇combine在合并的同时,对数据列进行了比较、计算。

三、写在最后

以上就是使用pandas进行合并的4个常用方法了。

近期还会发布若干个1行代码合并Excel的极简操作,大家可以关注一下我,收到最新消息。


展开阅读全文
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接