openpyxl将不同excel文件中的不同sheet的数据汇总到一份文件中

这个问题是python群的一位python爱好者提出来的。

问题:

有很多份excel文件,里面有多张sheet,sheet的名字在各个excel中都是一样的,相同sheet名字里的数据格式都是一样的,但数量可以有多有少。

openpyxl将不同excel文件中的不同sheet的数据汇总到一份文件中

文件示例

openpyxl将不同excel文件中的不同sheet的数据汇总到一份文件中

文件内容示例一

文件内容示例二

现在想把这些文件中所有相同的sheet,汇总在一起,形成一个excel文件,方便统一查看。

这种工作,如果是文件少,人工做一下也是可以的。但如果文件多,人工做就累,且易出错。

想办法用Python来解决!

经过尝试,我发现有以下难点:

通过简单的操作sheetTarget.cell(row=targetRow,column=targetColumn).value = sheetSource.cell(row=sourceRow,column=sourceColumn).value 
只能将值copy过来。

1,部分excel表的格式会丢失,比如,有的是红色字,有的单元格内容要居中;

2,部分合并单元格也会丢失;

经过查网上,openpyxl有关于单元格格式copy的功能,及单元格合并的功能。只是我没有学过,所以不会用。

经过耐心查阅openpyxl的文档,解决了我的问题。

心得:

1,我们所有遇到的问题,在网上基本都有解决方案。我们要做的是去动用关键字去查找相关的帖子,然后耐心地阅读完,并操练。
2,如果会英文,就用英文去搜索,里面的答案更多,更详细。
3,如果有可能,用google搜索,基本上出来的前几条,基本上就是我们要找到的帖子。
4,学编程,最好带着解决实际问题目的去学,这样,既有效率也有反馈,学起来的效果最好。我们解决了问题自己也成长了一点。

附代码(部分内容是网友编的,我只是在他的代码上修改的)另一个经验,在别人的基础上改代码,要比自己编代码还要累。

import osimport reimport shutilimport openpyxlfrom copy import copyfrom openpyxl.worksheet.cell_range import CellRange

openpyxl将不同excel文件中的不同sheet的数据汇总到一份文件中》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.bookhoes.com/2876.html