python成功实现xls转xlsx,并批量迁移

"""
用python批量获取某路径文件夹及子文件夹下的指定类型文件excel,并按指定路径进行存储
"""

import os
import os
import win32com.client as win32
import shutil

file_excel = []

path = os.getcwd()
path_listdir = os.listdir(path)

for s in path_listdir:
    path_excel = os.path.join(path, s)  # 将文件名加入到当前文件路径后面
    if os.path.isfile(path_excel):  # 如果是文件


        if os.path.splitext(path_excel)[1] == ".xls":  # 如果文件是".xls"后缀的

            excel = win32.gencache.EnsureDispatch('Excel.Application')
            wb = excel.Workbooks.Open(path_excel)
            print(path_excel)
            path_dir = os.path.split(path_excel)[0]
            path_file = os.path.split(path_excel)[1]
            print(path_dir)
            print(path_file)
            wb.SaveAs(path_dir  + '/bak/' + path_file + 'x', FileFormat=51)  # FileFormat = 51 is for .xlsx extension


            wb.Close()  # FileFormat = 56 is for .xls extension
            excel.Application.Quit()

            print(path_excel)
        elif os.path.splitext(path_excel)[1] == ".xlsx":  # 如果文件是".xlsx"后缀的
            excel = win32.gencache.EnsureDispatch('Excel.Application')
            wb = excel.Workbooks.Open(path_excel)
            print(path_excel)
            path_dir = os.path.split(path_excel)[0]
            path_file = os.path.split(path_excel)[1]
            print(path_dir)
            print(path_file)
            wb.SaveAs(path_dir  + '/bak/' + path_file , FileFormat=51)  # FileFormat = 51 is for .xlsx extension
            wb.Close()  # FileFormat = 56 is for .xls extension
            excel.Application.Quit()

            print(path_excel)



    elif os.path.isdir(path_excel):  # 如果是路径
        continue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值