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

    技术2022-08-01  68

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

    问题描述

    平时生活里会不会遇到这种情况: 收到了好几个上交的表格,但是你需要整合成一个总表再次上交。 如下: 顺带一提,这里的测试表格也是我自己用python批量生成的,姓名是全国最多重名前十。 你想要合成为这样: 但是一个一个复制过来确实比较麻烦,这里想到利用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 加入你两个库所在的文件夹,才可以封装成功。

    程序使用

    要把程序和表格放在同一个文件夹 双击运行 打开即是合并结果。

    注意事项

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

    Processed: 0.014, SQL: 9