Python 批量将xls文件转换为xlsx

处理excel数据时遇到了个问题,数据导出来总是不全 。
后来发现是 *.xls 格式的问题:

xls格式 最大行数为65535
xlsx格式 最大行数为1048576(满足要求了)
而且xlsx文件大小只有原来的1/3左右 。
但是手上有一大堆旧的xls文件需要转换 。
解决方法:安装pywin32pip install pywin32代码【Python 批量将xls文件转换为xlsx】import osimport os.pathimport win32com.client as win32## 根目录rootdir = u'E:\\temp1'# 三个参数:父目录;所有文件夹名(不含路径);所有文件名for parent, dirnames, filenames in os.walk(rootdir):for fn in filenames:filedir = os.path.join(parent, fn)print(filedir)excel = win32.gencache.EnsureDispatch('Excel.Application')wb = excel.Workbooks.Open(filedir)# xlsx: FileFormat=51# xls:FileFormat=56,# 后缀名的大小写不通配,需按实际修改:xls,或XLSwb.SaveAs(filedir.replace('XLS', 'xlsx'), FileFormat=51)# 我这里原文件是大写wb.Close()excel.Application.Quit()

    推荐阅读