python讀取Excel檔案是報(xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; fo
阿新 • • 發佈:2021-02-06
技術標籤:pythonExcelxmlpythonexcelxml
python讀取Excel檔案是報(xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'<?xml ve'的解決辦法
原因
前段時間有個功能需要將Excel檔案下載,並進行操作,不過在解析Excel檔案時,提供報了個xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b’<?xml ve’錯誤
經過我多方研究發現,檔案的儲存格式是xml格式的資料.所以造成開啟檔案是正常的,python讀取時程式報錯.
解決辦法
做後的解決辦法是將檔案的報錯格式改為xls,然後用程式碼轉化為xlsx格式的檔案就可以了.
廢話少說,上程式碼
import win32com.client as win32
def xls(filepath):
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(filepath)
wb.SaveAs(filepath + "x" , FileFormat=51)
wb.Close()
excel.Application.Quit()
filename, extension = os.path.splitext(filepath)
filename = f"{filename}.xlsx"
xls("檔案地址")
不過win32這個包屬性決定了,只能使用在win伺服器上.也是程式碼的缺點