在使用 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 |
此外,如果还需要转其他文件格式,可参考微软官网提供的文件格式
网友评论