Python实现多个excel文件合并源码及打包exe程序
##以下是源码filecombine.py,比较简单,有相应说明,也是结合别的代码自己修改的,用到的包需要提前装好。
# -*- coding: utf-8 -*-
import xlrd
import xlwt
import os
import datetime
#打开一个excel文件
def open_xls(file):
fh=xlrd.open_workbook(file)
return fh
#获取excel中所有的sheet表
def getsheet(fh):
return fh.sheets()
#读取文件内容并返回行内容
def getFilect(file,shnum):
fh = open_xls(file)
table = fh.sheets()[shnum]
num = table.nrows
for row in range(num):
rdata = table.row_values(row)
datavalue.append(rdata)
return datavalue
#获取sheet表的行数
def getnrows(fh,sheet):
table=fh.sheets()[sheet]
return table.nrows
#读取sheet表的个数
def getshnum(fh):
x=0
sh=getsheet(fh)
for sheet in sh:
x += 1
return x
if __name__==’__main__’:
# print(“main”)
rootdir = ‘E:/combinefiles/’
filelist = os.listdir(rootdir) #列出文件夹下所有的目录和文件
#定义要合并的excel文件列表
allxls=[]
# allxls=[‘E:/a.xls’,‘E:/b.xls’]
print(‘Your files:\r’)
for i in range(0,len(filelist)):
path = os.path.join(rootdir,filelist[i])
if os.path.isfile(path):
if path.endswith(’.xls’) or path.endswith(’.xlsx’):
print(’ --’+path)
# if ‘new.xls’ in path:
# print(’ the new.xls already exist, please delete new.xls first!’)
# exit(-1)
allxls.append(path)
# print(allxls)
#存储所有读取的结果
datavalue=[]
for fl in allxls:
fh = open_xls(fl)
x = getshnum(fh)
for shnum in range(x):
print(“reading: “+str(fl)+”'s sheet”+str(shnum+1)+" …")
rvalue = getFilect(fl,shnum)
#定义最终合并后生成的新文件
wb1 = xlwt.Workbook(encoding=‘utf-8’)
#创建一个sheet工作对象
ws = wb1.add_sheet(“sheet1”)
for a in range(len(rvalue)):
for b in range(len(rvalue[a])):
c = rvalue[a][b]
ws.write(a,b,c)
nowTime = datetime.datetime.now().strftime(’%Y%m%d%H%M%S’)
newfileName =‘E:/combinefiles/new-’ + nowTime + ‘.xls’
wb1.save(newfileName)
print(“files combine complete!\n”)
raw_input("####please Enter to quit…###### ")
使用pyinstaller打包成exe:
通过pip install pyinstaller安装pyinstaller包
到filecombine.py 所在目录执行以下 命令打包exe,打包后的exe包括了依赖包,可以跨机器使用。
pyinstaller --onefile --nowindowed filecombine.py
执行结果:
通过红框里的路径,可以找到生成 的exe, 双击执行即可。But,but!!!双击前请仔细阅读下面内容:
1.本工具用于完成多个excel文件合并
2.使用前请在E盘创建目前E:\combinefiles目录(程序里写死了,别问为什么写死,这只是个基础实现,完全可以做成可配路径的方式)
3.将需要合并的excel文件复制到E:\combinefiles目录中
4.双击filecombine.exe自动合并文档
5.完成后点击Enter退出即可
#######注意#############
重复使用本工具时,请将E:\combinefiles目录清空后再使用,否则原有文件也会被合并。
Python实现多个excel文件合并源码及打包exe程序相关推荐
- python处理多个excel文件-Python将多个excel文件合并为一个文件
利用Python,将多个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中 ...
- 一起用python做个炫酷音乐播放器【V3.0含源码及打包exe】
前言 熟悉的小伙伴都知道,前段时间写了一篇关于音乐播放器的文章–Python自制一款炫酷音乐播放器.不少小伙伴私信我,对播放器提了一些改进建议,对播放器的一些逻辑bug优化完善.今天音乐播放器3.0版 ...
- 利用Python将多个excel文件合并为一个文件
利用Python,将多个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中 ...
- 【Python】【Tkinter】png转ico小工具源码以及打包exe
我最近初学Python,学习到了Thinker部分,心血来潮做了一个图片小工具,我感觉我自己好像是码了一座屎山.下面我分几个部分来讲解一下我的思路,以及具体的步骤. 第一步,先看源码: 部分地方我作了 ...
- python合并两个excel文件_利用Python将多个excel文件合并为一个文件
# -*- coding: utf-8 -*- #导入需要使用的包 import xlrd #读取Excel文件的包 import xlsxwriter #将文件写入Excel的包 #打开一个e ...
- python 生成exe 图片资源_爱豆图片下载(含源码及打包exe可执行文件)
import requests from lxml import etree import os # etree解析网页并返回 def parse(url): headers = { 'User-Ag ...
- 如何利用python整合excel_Python将多个excel文件合并为一个文件
Python将多个excel文件合并为一个文件 这篇文章主要为大家详细介绍了Python将多个excel文件合并为一个文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 思路 利用python x ...
- Python读取多个excel文件(删除字段、数据格式转换、dataframe多表合并)并写入ElasticSearch实战(自动创建索引、写入ElasticSearch、探索性数据分析)
Python读取多个excel文件(删除字段.数据格式转换.dataframe多表合并)并写入ElasticSearch实战(自动创建索引.写入ElasticSearch.探索性数据分析) 目录
- python处理多个excel文件-python多个excel文件合并成一个sheet
运营人员需要历年的订单数据,这就需要把多个文件夹下面的excel文件合并到一个sheet中,之前的解决的办法是用VBA把多个excel文件合并成一个表的多个sheet,再把多个sheet合并成一个sh ...
最新文章
- Windows 64位机上C/C++代码静态检查工具Logiscope RuleChecker的安装和使用
- DOS命令输出的重定向
- 机器学习——逻辑回归算法
- mybatis关联配置(一对多配置)
- php 5.3 require,PHP5.3提示PHP Wrequire(./xx.php)arning: [function.require]: failed to open stream
- Android之Tab分页标签的实现方法--------采用ActivityGroup和GridView的结合
- 地域跨度入手的8zsb
- java 字节码加载_java面试题jvm字节码的加载与卸载
- python 平方根_数的Python平方根
- spurious wakeup虚假唤醒
- 北斗导航:太空中最亮的“中国星”
- 分布式系统 服务 的稳定性
- openerp换mysql_OpenERP 源码变更后数据库升级
- 微信公众号接入图灵机器人
- 制作maven-archeType
- 《GhostXP_SP2电脑公司特别版_8.0》
- 【论文翻译】使用区块链的非阻塞两阶段提交
- 【山东OI选手福利!!!】汇编在Cena中的使用
- python读取CSV文件中温度值绘制3D折线图
- 1065: 人名查询