针对不同场景的Python合并多个Excel方法

Python043

针对不同场景的Python合并多个Excel方法,第1张

大家好,我是辰哥~

在辰哥看来,技术能够减少繁琐工作带来的枯燥,技术+实际=方便。最近辰哥也是在弄excel文件的时候发现手动去整理有点繁琐枯燥,想着技术可以代替我去处理这部分繁琐的工作那何乐而不为呢~~~

辰哥目前想到的仅是辰哥遇到的这三种情况( 如果还有很多其他情况的,欢迎在下方留言 ,因为辰哥日常非经常涉及多种excel处理的内容,所以想不到其他情况)

这里辰哥先新建三个excel文件:11.xlsx;12.xlsx;13.xlsx;并往里填充数据,数据如下:

需求:将这三个excel文件合并到一个excel中。

这里需要用到两个库: xlrd读取excel; xlwt写入到合并的excel;

定义合并哪些excel文件,以及合并后的excel

最后合并到:**合并1_辰哥.xlsx **中,其结果如下:

新建三个excel文件:21.xlsx;22.xlsx;23.xlsx;并往里填充数据

将这三个excel文件拼接带一个excel中(从左往右)

最后合并到:**合并2_辰哥.xlsx **中,其结果如下:

新建一个excel文件:31.xlsx;并新增 sheet1、sheet2、sheet3 ,往里填充数据

将同一个excel文件中的这三个sheet并到一个sheet中。

最后合并到: 合并3_辰哥.xlsx 中,其结果如下:

目前想到的仅是辰哥遇到的这三种情况( 如果还有很多其他情况的,欢迎在下方留言 ,因为辰哥日常并非经常涉及多种excel处理的内容,所以想不到其他情况)

合并多个 word文件到 一个文件 中,用于文件的批量打印。

要求:

采用 python 实现,使用python中的 python-docx 和 docxcompose 结合的方式来实现此功能。

优点:

缺点:

​只支持docx 文件的合并, 不支持doc文件 。如想通过此模式合并doc文件,需将doc文档转换为docx文档。

将一个文件夹中的所有文件,都合并到一个文档中。

要求每个文档,都从一个新页面开始,因此需在除第一个文档的每个文档前面加上 分页符 ,所以单独定义了一个只包含分页符的文档 page_break_doc 。

部分情况下会出现问题,如文档当前已经到 最后一行 了,新加的分页符会导致生成一页空白的文件, 此种情况,后续更新此文章时解决

定义目标文档,初始化时,采用 target_doc = Document(source_file_path_list[0]) 的方式,以第一个要拼接的文档作为初始文档。

主要是因为,如果创建的空的文档 target_doc = Document() ,新生成的文档中 自带的文档样式 (如标题样式、正文样式等) 将会影响新拼接的文档中的采用了默认样式的内容 ,故模板文档从第一个文档中进行加载默认样式,避免了这种情况。

这也是网上大多数采用此种方式合并word,样式发生变更的原因 ,需注意此问题。

同时需注意,如果拼接的文档中,存在默认格式不一样,并且未为段落、文字指定单独样式的情况时,需检查,第一个文件作为模板加载的默认样式, 是否会影响后续的其他文件合并后的默认样式 。

200个文件合并,耗时10秒左右。速度非常快

python脚本的程序,其他程序可以直接通过 命令行的形式调用 ,或者python提供http接口,程序通过 http接口调用 。

切记通过http接口调用其他程序是,需设置好调用超时时间,防止无限等待请求结果,导致负载均衡时,大量请求超时而导致的程序整体不再分发请求。