川小胖学python

博客园 首页 新随笔 联系 订阅 管理

最近在处理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()

 

posted on 2021-01-04 10:15  川小胖学Python  阅读(3232)  评论(0编辑  收藏  举报