python将txt文件转换成xlsx_Python 批量将xls文件转换为xlsx

处理excel数据时遇到了个问题,数据导出来总是不全。

后来发现是 *.xls 格式的问题:

xls格式 最大行数为65535

xlsx格式 最大行数为1048576(满足要求了)

而且xlsx文件大小只有原来的1/3左右。

但是手上有一大堆旧的xls文件需要转换。

解决方法:

安装pywin32

pip install pywin32

代码

import os

import os.path

import 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,或XLS

wb.SaveAs(filedir.replace('XLS', 'xlsx'), FileFormat=51) # 我这里原文件是大写

wb.Close()

excel.Application.Quit()

你可能感兴趣的:(python将txt文件转换成xlsx_Python 批量将xls文件转换为xlsx)