Python将excel文件从xls转换为xlsx

时间:2021-05-05 14:04:23

本文使用场景:将一个xls格式Excel文件转换为xlsx文件格式。接下来将一步一步演示该操作。你也可以对代码进行修改使其适用于你所需的场景。

安装Python3

首先需要安装Python,我这里安装的是Python3.6.4(注意:Python3和2版本语法有改动)
官网 进行下载安装。选择对应版本的安装包即可,因为我这台电脑是Win10 64位,所以选择Windows x86-64 executable installer。

安装pywin32

pywin32貌似不能通过pip3 install下载。
不过可以在sourceforge中找到 下载地址

在其中选择对应版本的安装包即可,我的python版本(通过命令行下执行python --version查看)是3.6.4,所以我选择下载pywin32-221.win-amd64-py3.6.exe。
Python将excel文件从xls转换为xlsx

下载下来后执行安装。

代码

安装好了Python3和Pywin32之后,我们便可以在代码中调用win32com.client了。
下面的代码用于演示将一个xls格式文件另存为xlsx格式。

import win32com.client as win32

fname = "C:\\myProjects\\daily\\data\\20171229\\标准化文档-20171226\\全量数据过滤表清单.xls"
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(fname)

wb.SaveAs(fname+"x", FileFormat = 51)    #FileFormat = 51 is for .xlsx extension
wb.Close()                               #FileFormat = 56 is for .xls extension
excel.Application.Quit()