如未安装pywin32,请先安装
pip install pywin32
如国外源速度不够,可采用国内源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pywin32
调用
excel = win32.gencache.EnsureDispatch(‘Excel.Application’)
wb.SaveAs(xls_list+"x", FileFormat = 51) 51 表示转化为 .xlsx
wb.Close() = 56 i表示转化为 .xls
可批量保存,但要注意是否有同名的结尾不同的文件名
import os #找文件目录
import win32com.client as win32 #操作excel文件
from tqdm import tqdm #进度条显示
path=input('输入整理前原始路径: ')
if path=="":
path=os.getcwd()
xlsx_lists=[]
xls_lists=[]
for file in os.listdir(path):
filename=os.path.join(path,file)
if os.path.isfile(filename): #是目录
if filename.endswith(".xls"):
xls_lists.append(filename)
if filename.endswith(".xlsx"):
xlsx_lists.append(filename)
choose="3"
excel = win32.gencache.EnsureDispatch('Excel.Application')
while choose not in "1|2":
choose =input("xls转为xlsx:1 xlsx转为xls:2 ")
if choose=="1":
with tqdm(total=len(xls_lists),desc='写文件数 ',leave=True,unit='个',unit_scale=True,mininterval=0.5,bar_format=None) as pbar:
for xls_list in xls_lists:
pbar.update(1)
wb = excel.Workbooks.Open(xls_list)
wb.SaveAs(xls_list+"x", FileFormat = 51) #FileFormat = 51 转化为.xlsx
wb.Close() #FileFormat = 56 转化为.xls
pbar.close()
else:
with tqdm(total=len(xls_lists),desc='写文件数 ',leave=True,unit='个',unit_scale=True,mininterval=0.5,bar_format=None) as pbar:
for xlsx_list in xlsx_lists:
pbar.update(1)
wb = excel.Workbooks.Open(xlsx_list)
wb.SaveAs(xlsx_list[0:len(xlsx_list)-1], FileFormat = 56) #FileFormat = 51 is for .xlsx extension
wb.Close()
pbar.close()
excel.Application.Quit()