在python中解压缩.xls文件

时间:2019-01-16 07:55:11

标签: python excel compression unzip zipfile

我正在寻找一种方法来解压缩/解压缩python中的.xls文件。通过使用7-Zip打开Excel文件,您可以看到我要提取的目录。

我已经尝试将Excel重命名为“ .zip”,然后将其提取

myExcelFile = zipfile.ZipFile("myExcel.zip") 
myExcelFile.extractall()

但是会抛出

zipfile.BadZipFile: File is not a zip file

.xls in 7-Zip

1 个答案:

答案 0 :(得分:1)

  

.xls文件使用BIFF格式。 .xlsx文件使用Office Open XML,这是一种压缩的XML格式。 BIFF不是压缩格式; zip库无法识别使用该格式的文件。 – shmee

转换为.xlsx的是solution

import win32com.client as win32
fname = "full+path+to+xls_file"
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()