100个excel表合并(一句代码合并Excel表)

Pandas合并Excel表

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

100个excel表合并(一句代码合并Excel表)(1)

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键滚动到底部直接选择文件名。

100个excel表合并(一句代码合并Excel表)(2)

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打开查看再做进一步的手工检查和修改。

上面动图中我们使用的是Notebook软件进行编写代码的,如果你还不知道这个软件的安装方法,可以关注我,浏览我之前的文章。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页