python批量合成excel表格并且封装成exe

python批量合成Excel表格并且封装成exe

问题描述

平时生活里会不会遇到这种情况:
收到了好几个上交的表格,但是你需要整合成一个总表再次上交。
如下:
python批量合成excel表格并且封装成exe_第1张图片
第二个表
python批量合成excel表格并且封装成exe_第2张图片
顺带一提,这里的测试表格也是我自己用python批量生成的,姓名是全国最多重名前十。
你想要合成为这样:
python批量合成excel表格并且封装成exe_第3张图片
但是一个一个复制过来确实比较麻烦,这里想到利用python编写一个程序。

程序代码

程序如下:

import xlrd
import xlwt
import os

path = os.getcwd()#获取当前目录
os.chdir(path)
allfiles = os.listdir(path)
for i in allfiles:
    if os.path.splitext(i)[1] !='.xls':
        if os.path.splitext(i)[1] !='.xlsx':
            allfiles.remove(i)
#把当前目录下,所有以xls,xlsx结尾的文件录入列表
print(allfiles)
result = xlwt.Workbook(encoding='utf-8')
sheeta = result.add_sheet('result')

for i in range(len(allfiles)):
    f = xlrd.open_workbook(allfiles[i])
    psheet = f.sheets()[0]
    t = i
    rows = psheet.row_values(1)
    print(rows)
    l = len(rows)
    for j in range(l):
        if i == 0:
            sheeta.write(0, j, psheet.row_values(0)[j])
            sheeta.write(1, j, psheet.row_values(1)[j])
        else:
            sheeta.write(t + 1, j, psheet.row_values(1)[j])
result.save('result.xls')
#保存文件

可以看到这里用到两个和excel有关的库,一个是xlrd,一个是xlwt。具体用法这里就按下不表了。

封装成exe文件

为何要封装?

这里是考虑到很多人的电脑上没有python环境,而且很多人可能在装库这一块不太会装。

如何封装

这里首先要安装好pyinstaller。

pip install pyinstaller

然后:

pyinstaller -p E:\anaconda3\pkgs\xlrd-1.2.0-py37_0\Lib\site-packages -p E:\anaconda3\pkgs\xlwt-1.3.0-py37_0\Lib\site-packages  -F mergeexcl.py

这里其实很关键,因为导入了第三方库,xlrd和xlwt,所以必须要利用 -p …\site-packages 加入你两个库所在的文件夹,才可以封装成功

程序使用

要把程序和表格放在同一个文件夹
python批量合成excel表格并且封装成exe_第4张图片
双击运行
python批量合成excel表格并且封装成exe_第5张图片
打开即是合并结果。
python批量合成excel表格并且封装成exe_第6张图片

注意事项

1.生成完result.xls后,不要再重复运行mergeexcel.exe程序,否则程序会把生成好的result.xls也当做需要合成的表格再次合成。
2.文件夹中尽量不要有别的文件。
3.出错了是环境的问题,不是我的问题…

你可能感兴趣的:(python,python,exe,封装)