利用win32庫來實現
# -*- coding:utf-8 -*- import os import win32com.client as win32 #需要轉換的數據目錄 inputdir = u'D:\\python\\testdata\\excle' outputdir = u'D:\\python\\testdata\\excle_output' if not os.path.exists(outputdir): os.mkdir(outputdir) # 三個參數:父目錄;所有文件夾名(不含路徑);所有文件名 for parent, dirnames, filenames in os.walk(inputdir): for fn in filenames: fn.split('.')[-1] == 'xls': filedir = os.path.join(parent, fn) excel = win32.gencache.EnsureDispatch('Excel.Application') wb = excel.Workbooks.Open(filedir) # xlsx: FileFormat=51 # xls: FileFormat=56 wb.SaveAs((os.path.join(outputdir, fn + "x")), FileFormat=51) wb.Close() excel.Application.Quit()