美文网首页
Excel内容合并

Excel内容合并

作者: 小帅明3号 | 来源:发表于2020-11-24 15:11 被阅读0次
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')

相关文章

网友评论

      本文标题:Excel内容合并

      本文链接:https://www.haomeiwen.com/subject/qziiiktx.html