打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一句代码合并Excel表

原文链接:https://www.jianshu.com/p/0b2b9c08f7f

两个Excel中都有相同的一列,怎样依赖这列数据将两个Excel合并到一起?使用Python合并表格只要一句代码!

1 读取表格

使用Python读取数据只要3行,第一行载入pandas工具,第二行读取,第三行显示头部5行内容。

import pandas as pd
data1 = pd.read_excel('表格1.xlsx')
data1.head()

运行这个代码就会直接显示出表格1的前5行数据。

同样我们可以用下面代码读取表格2.

import pandas as pd
data2 = pd.read_excel('表格2.xlsx')
data2.head()

提示:在输入代码的时候可以只打单词的前两个字母,然后按Tab键盘就会弹出提示,用箭头或鼠标上下滚动选择命令即可。尤其是'表格1.xlsx'完全不用手工输入,只要输入英文双引号,然后就可以按Tab键滚动到底部直接选择文件名。

2 合并表格

如上所示,表格1和表格2都是某个活动的问卷数据,其中表格1包含了每个学员的联系电话、收件地址等信息,表格2包含了每个学员的考试成绩、出勤记录等信息。

由于是不同的问卷,两个表格的学员顺序不同,而且第一个问卷姓名栏叫name,第二个问卷姓名栏叫姓名,现在我们需要把它们合并到一起,并且确保每行学员的信息都能正确匹配对齐。

如果使用Excel软件可能需要很多操作,但使用Python就只需要一句代码。

dataMerge=pd.merge(data1,data2,left_on='name',right_on='学员姓名',how='left')

最后的how='left'是以表格1为准,表格2中存在但表格1中不存在的学员会被忽略。可以把left改为right就会以表格2为准,也可以改为outer同时保留两个表格所有的学员姓名,或者改为inner只保留那些同时存在于两个表格中的学员。如果不输入这个how的话会默认为是inner。

中间的left_on就是data1(表格1,参见上面代码)的学员姓名栏名称,right_on就是data2(表格2,参见上面代码)的学员姓名栏名称,这样就会自动匹配对齐。如果两个表格学员姓名栏名称一样,可以改为使用下面的代码更加简单。

dataMerge=pd.merge(data1,data2,on='name')

3 保存表格

最后我们用下面的命令把合并好的数据保存成Excel文件。

dataMerge.to_excel('合并表格.xlsx')

上面这句代码运行后就会自动生成一个新的Excel文件,你可以用Excel打开查看再做进一步的手工检查和修改。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
多页打印一个很宽excel表格,怎样让每页都有纵向标题?
卢子逼出来的Excel高手!
办公小技巧:如何用excel VBA实现批量筛选打印表格
【Excel教程】Excel教程:工作中必会的Excel技巧!
如何将 Excel 异形表整理成标准的一维源数据表?
excel如何自动获取另一个表格当中的数据?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服