Python将excel文件从xls转换为xlsx

本文使用场景:将一个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。

下载下来后执行安装。

代码

安装好了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()
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Pythonexcel库中,可以使用多种方法将xls文件转换xlsx文件。 一种常用的方法是使用openpyxl库。该库可以读取和写入xlsx文件,因此可以使用openpyxl.load_workbook()函数打开xls文件,然后使用save()函数将其保存为xlsx文件。示例如下: ```python import openpyxl # 打开xls文件 wb = openpyxl.load_workbook('file.xls') # 创建一个新的xlsx文件 new_wb = openpyxl.Workbook() # 将xls文件中的数据复制到xlsx文件 for sheetname in wb.sheetnames: sheet = new_wb.create_sheet(sheetname) for row in wb[sheetname].iter_rows(): sheet.append([cell.value for cell in row]) # 保存为xlsx文件 new_wb.save('file.xlsx') ``` 另一种方法是使用pandas库,它提供了丰富的数据处理功能。可以使用pandas的read_excel()函数打开xls文件,然后使用to_excel()函数将其保存为xlsx文件。示例如下: ```python import pandas as pd # 打开xls文件 df = pd.read_excel('file.xls') # 保存为xlsx文件 df.to_excel('file.xlsx', index=False) ``` 除了以上两种方法,还可以使用xlrd和xlwt库进行转换。可以使用xlrd.open_workbook()函数打开xls文件,然后使用xlwt.Workbook()函数创建一个新的xlsx文件,使用xlwt中的write()函数将数据逐行写入xlsx文件,最后使用save()函数保存xlsx文件。示例如下: ```python import xlrd import xlwt # 打开xls文件 wb = xlrd.open_workbook('file.xls') # 创建一个新的xlsx文件 new_wb = xlwt.Workbook() # 将xls文件中的数据复制到xlsx文件 for sheetname in wb.sheet_names(): sheet = new_wb.add_sheet(sheetname) for row in range(wb.sheet_by_name(sheetname).nrows): for col in range(wb.sheet_by_name(sheetname).ncols): sheet.write(row, col, wb.sheet_by_name(sheetname).cell(row, col).value) # 保存为xlsx文件 new_wb.save('file.xlsx') ``` 总之,根据实际需求,可以选择适合的方法将xls文件转换xlsx文件
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值