1. WE生活首页
  2. 玩转数码

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()

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 ivillcn@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.badwe.com/65935/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注