import os
import xlwt
import xlrd
from datetime import datetime
#同目录下多个Excel合并成一个
print("\n\n ~~~~~~~ ~~~~~~~~\n ~~~~~~~~~~ ~~~~~~~~~~~\n ~~~~~~冯冯小甜心~~~~~\n ~~~~~ ~~~~\n ~~~~~~~~~~~~~~~\n ~~~~~~~~~\n ~~~\n")
#初始化全局变量
exit_='Y'
while True:
pwd = input('请输入工具码(输入exit退出):')
if pwd=='exit':
break
if pwd!='19961220':
print("密码错误,请重新输入!")
continue
#设置有效期
if not datetime.now().strftime('%Y-%m-%d')<='2020-12-22':
print("工具有效期到达上限!")
continue
# 设置登录密码
if pwd == '19961220':
print('登录成功!\n')
while True:
file_ph=input('请输入需合并Execl的路径:')
file_ph_res=file_ph+'\\合并后'
#解析路径下的所有xls,xlsx
try:
file_list = [i for i in os.walk(file_ph)]
if len(file_list):
file_list=file_list[0][2]
wfile = file_ph_res + '\\合并后.xls'
we = xlwt.Workbook() # 创建一个Excel对象
sh = we.add_sheet('sheet1', cell_overwrite_ok=True) # 某个单元格可以复写,多次写入不报错
#计数最大行
ran_sh_max=0
for i in file_list:
if '.xls' in i or '.xlsx' in i:
rfile = file_ph+'\\'+i
#若目标路径不存在,创建
if not os.path.isdir(file_ph_res):
os.mkdir(file_ph_res)
re = xlrd.open_workbook(rfile).sheet_by_index(0) # 获取第一个页签对象
for i in range(re.nrows): # 读行
for j in range(re.ncols): # 读列
sh.write(i+ran_sh_max, j, re.cell(i, j).value) # 在第i行第1列写内容
ran_sh_max+=re.nrows
we.save(wfile)
else:
print('输入目录未检测到Excel文件!!')
exit_ = input("是否继续?(Y/N):")
if exit_.upper() == 'N':
break
continue
except Exception as e:
print(e)
print("解析完成,合并成功!\n")
exit_=input("是否继续?(Y/N):")
if exit_.upper()=='N':
break
if exit_.upper()=='N':
break
os.system('pause')
网友评论