pandas合并excel的多个sheet |
您所在的位置:网站首页 › 将俩个工作表合并 › pandas合并excel的多个sheet |
表格内容如下: 现在要做的是,把6个sheet合并成一个表格。 1.excel合并工作表首先,探讨一下直接用excel来解决这个问题,在excel2016及以后的版本中,有一个强大的PowerQuery查询: 选择文件后: 点“编辑”以后,大概如下: 网上有些人的版本中有“将查询追加为新查询”这个功能,但是我的excel2016中没有这个选项,只能点击“追加查询"这个功能: 上图的意思是将sheet2追加到sheet1中去,追加后sheet1的内容如下: 我对这个powerQuery不是很熟练,上面合并的工作表一次只能合并一张工作表,看起来效率也不算高,暂时还不晓得其它方法。除了这种方法以外,可能只有使用VBA宏来解决这个问题了。 2.pandas合并工作表四个字:非常简单! 简单得出乎的意料! 代码如下: import pandas as pd #依次读取前面6个工作表到DataFrame中,dfs里面是由6个DataFrame组成的数组 dfs = [pd.read_excel("test.xls",sheet_name=index) for index in range(6)] #连接dfs里面的6个DataFrame pd.concat(dfs).to_excel("text1.xlsx")三行代码搞定! 而且居然自动忽略掉其它工作表的表头,只保留第一个工作表的标题栏,这确实很有意思,非常赞。 3.pandas合并工作表第二种方法依然非常简单: import pandas as pd #sheet_name=None的意思是,一次性将所有的工作表都读取出来 dfs2 = pd.read_excel("test.xls",sheet_name=None) pd.concat(dfs2).to_excel("text.xlsx")执行结果如下: 可以看出,除了前面多了一行索引列以外,其它内容没有变化,依然没有标题栏。 总结可以看出,如果要在excel中完成合并工作表并不容易,对excel版本有要求,或者VBA。而采用pandas则非常简单,基本上就两行代码,效果出其的好! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |