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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM