python 对Excel表格文件的类型自由转换

2020-06-14  本文已影响0人  SyKay

在使用 python 进行自动化编程中,经常会遇到需要操作一些excel文件,而偶尔我们使用的库,却不支持我们表格文件的格式,这时就显得很蛋疼了。如openpyxl库就不支持xls这种表格,xlsm也是表格文件却很少被其他库支持。这种情况下,如果我们电脑有安装微软的Excel软件(非wps),就可以通过调用本地excel软件对表格文件进行格式转换,以便于我们编程操作表格文件,代码如下:


# 使用win32com需要安装pypiwin32库
import win32com.client as win32
# xls表格 转化为 xlsx表格
fname = r"XXXX.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()

如上所示,FileFormat为51,表示文件格式为xlsx。
下面还列出了需要常用的excel文件格式,供大家参考:

名称 说明 扩展名
xlCSVWindows 23 Windows CSV *.csv
xlExcel8 56 Excel 97-2003 工作簿 *.xls
xlOpenXMLWorkbookMacroEnabled 52 启用 Open XML 工作簿宏 *.xlsm
xlWorkbookDefault 51 默认工作簿 *.xlsx

此外,如果还需要转其他文件格式,可参考微软官网提供的文件格式

微软官方XlFileFormat 枚举 (Excel)链接

上一篇下一篇

猜你喜欢

热点阅读