python xls和xlsx相互转换的方法(附xlrd,xlwt和openpyxl区别)
最近在处理excel的时候,想到利用python可以批量操作,常用的包有xlrd,xlwt和openpyxl,三者区别如下:
- xlrd只能读取数据,可以处理xls和xlsx;
- xlwt只能写数据,只能处理xls
- openpyxl可以读数据和写数据,但只能处理xlsx
当收到的文件既有xls,又有xlsx时,先转换为统一格式再做统计修改更方便。
需要用到pywin32库,方法如下:
import win32com.client as win32 fname = r"F:3.python实例5.计算评分均值2.xlsx" excel = win32.gencache.EnsureDispatch(‘Excel.Application‘) wb = excel.Workbooks.Open(fname) # wb.SaveAs(fname+"x", FileFormat = 51) #FileFormat = 51 is for .xlsx extension wb.SaveAs(fname[:-1], FileFormat = 56) #FileFormat = 56 is for .xls extension wb.Close() excel.Application.Quit()