python数据处理两个excel表格信息合并,合并excel多个表格数据
点击上方“Python爬虫与数据挖掘”关注。
回复“书籍”即可获得从初级到高级Python的10本电子书。
现在
太阳
鸡肉
汤
断绳磨损落石。
之前试过用Python写Excel表格排序的代码,记录在《Python 自动整理 Excel 表格》。那时候我也是第一次尝试熊猫。代码还使用了结合需求搜索的合并方法来实现两个表的“融合”。现在看来并不复杂。刚开始没几个人看,没注意;最近不小心被几个朋友转载了,不过也是和原文一起看的,吸引了很多新的关注。
从这个角度来说,有可能熊猫加工台并没有想象中那么知名,如果不接触,可能完全不知道这种工具的存在。
今天分享的这个问题和上一个差不多,也是表格合并:
首先是需求一:有表A.xlsx和B.xlsx,我想把它们纵向合并到同一个表中:
需求二:希望从表C.xlsx中提取第三列,从表D.xlsx中提取前两列,并将它们集成到一个新表中:
如果不需要编程,手工操作其实不难。只需选择区域,复制并粘贴它。工作量小的情况下,人工操作还是挺开心的;但如果有几十个甚至几百个文档,那就一言难尽了。因此,当工作量较大时,编程代码实现上述操作的优势就凸显出来了:修改代码中的几个参数,设置几个循环遍历,等待几秒钟就可以轻松搞定。
下面我们来看看Python实现的思路和步骤,还是用前面提到的熊猫库。
Pandas是一个基于NumPy的工具,它是为了解决数据分析任务而创建的。Pandas整合了大量的库和一些标准的数据模型,并提供了高效操作大型数据集所需的工具。Pandas提供了大量的功能和方法,使我们能够快速方便地处理数据。你很快就会发现,这是让Python成为一个强大而高效的数据分析环境的重要因素之一。
熊猫百度百科
关于网上一堆熊猫,这里就不赘述了。另外,因为涉及到xlsx格式的Excel表格的读写,所以还需要xlrd和openpyxl模块的支持,可以通过以下命令安装:
安装PIP XLRDPIP安装OpenPyXL如果你在运行代码的过程中得到一个错误没有模块.可以尝试安装相应的模块来解决。
需求一编码
模块准备好了。首先导入熊猫模块,用read_excel的方法读取表格内容。a该表内容如下:
b该表内容如下:
所读取的表格内容的数据格式为Dataframe(熊猫中的一种数据格式),最左侧纵行以0开头的数字为该数据格式的索引。
我们可以通过pandas中的concat方法合并不同的数据帧。注意concat方法中的一个参数是axis,默认值是0,表示按行合并,也就是垂直合并。这里,我们没有设置它,而是使用默认值:
合并成功,但仍存在问题,即index和 serial number 最左边一列的数字没有根据实际表数据进行更新,仍然保持不变,需要进行调整。首先,通过reset_index重置索引:
此外,应更新“序列号”栏中的数字:
好了,纵向合并完成,合并后的数据用to_excel方法保存到xlsx表中:
最终文件夹中会生成result1.xlsx表格文件,这就是合并后的结果。
需求二编码
与上一个需求相比,这里多了一个要提取的列,即定位数据格式中的部分数据。同时,不同的是,这次我们将提取的内容按列进行横向合并。一些思路,还是按部就班,首先还是通过read_excel读取两个表:
因为需求需要定位在特定的列中,所以iloc方法用于通过索引定位和提取行和列的数据。首先,iloc[:2]获取表C中的第三列(这里:代表所有行;2表示从0开始的列索引值,即第三列):
而iloc[:[0,1]]获取表d中的第一列和第二列(这里:代表所有行;[0,1]表示从0开始的列索引值,即第一列和第二列):
获取特定的数据内容,并且仍然通过concat进行合并。这里,因为我们需要水平和按列合并,所以我们需要将轴参数设置为1:
最后,xlsx格式的表格文件通过to_excel方法保存:
至此,需求完成,任务完成。
后续编码
接下来,我们可能还会有疑问。这样写的代码不是只能把两个表合并成一个吗?如何处理大量的表格?
还记得学习Python或者其他编程语言刚开始要学的for循环和定义方法吗?基于刚刚实现的代码,我们可以将整个合并过程定义为一个独立的方法。对于大量需要处理的文件,我们可以遍历for循环,调用定义好的方法,逐个完成处理。
因为我手头没有太多文件,提问的朋友也没问,后续代码也没展开。
再说,对于微信官方账号的文章,我最初的观点是写一些自觉有趣的东西,让大家玩得开心。有了大家的反馈和提问,我现在对‘有趣’的理解更加丰富了:除了引人注目,用编程的思路去优化现实问题也是非常有趣的。
应懒癌朋友的要求,这里提供一些之前发过的关于Excel电子表格处理和PDF文件的文章。有需要请自便~
Excel 表格处理相关:
用Python组织Excel表格
摘要:将一个表格文件中不同表格的数据汇总整理在一起。
Python自动排列Excel表格
摘要:两种形式通过共同的数据信息进行融合。
把Python小翅膀插在没有网络的办公电脑上。
无网Windows office电脑Python和pandas安装参考
这篇文章
摘要:提取表格内容并进行横向和纵向合并。
PDF 文件处理相关:
从Python中读取PDF信息并将其插入到Word文档中
摘要:批量提取不同pdf中特定位置的数据,插入到相应的Word文档中。
Python Office助手:读取PDF格式的表格并重命名
批量读取PDF中的特定数据,并用读取的数据重命名PDF文件。
这样安排的文章不多。
以上,感谢阅读~
---------------结束
往期精彩文章推荐:
Python环境搭建-安利Python小白的Python和Pycharm安装详细教程一篇文章教你了解Scrapy网络爬虫框架的工作原理和数据采集过程。利用Python网络爬虫抓取微信好友签名及其可视化展示。
欢迎致电---------感谢您的陪伴和支持。
想加入Python学习群请后台回复【-】。
钱山总是在恋爱,可以点[点赞,]吗?
留言,
随便说一两句~ ~
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。