Python 批量将xls文件转换为xlsx

作者: 洗洗睡吧i | 来源:发表于2019-01-18 10:59 被阅读208次

    处理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,
            wb.SaveAs(filedir.replace('XLS', 'xlsx'), FileFormat=51)
            wb.Close()                                 
            excel.Application.Quit()
    

    相关文章

      网友评论

        本文标题:Python 批量将xls文件转换为xlsx

        本文链接:https://www.haomeiwen.com/subject/npggdqtx.html