python完成excel文档合并和文档对比
2022-02-26 本文已影响0人
刘小白DOER
最近遇到一个问题,就是遇到许多考试文档,有很多excel组成,同时有两个版本的文件。第一个需求就是需要做个excel文档合并,第二个就是对比两个版本的文件是否相同。想到之前使用python做的数据分析,于是就基于jupyter notebook来做做题库的数据分析,方便复习。
关于文档合并的问题,以前笔者的文章-Python使用openpyxl库修改和合并Excel文档 使用openpyxl库来完成将目录下的.xlsx文件合并在一起。但是鉴于笔者来使用pandas来完成数据分析,于是换成pandas的read_excel函数来完成。
整个代码如下,查找目录下所有的xlsx文件(查找功能前期做过)并使用pandas.read_excel读取,pandas.concat合并各个DataFrame。如果需要的话,可以使用pandas.to_excel函数写入excel中,注意如果excel中中文的话,需要确定编码格式,笔者使用encoding='utf_8_sig'是可以的。
另外一个功能是对比两个excel文档,判断两个题库是否相同,下面是分析过程,注意使用df1.isin(df2).sum()来判断两个DataFrame的关系。
根据对比情况,df1[~df1.isin(df2)].index选择反集,选择出index,再根据index来选择不在旧题库中的试题。