1. 程式人生 > 其它 >python讀取Excel檔案是報(xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; fo

python讀取Excel檔案是報(xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; fo

技術標籤: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伺服器上.也是程式碼的缺點

最後的最後,作為一個實習2年只會點點的測試實習生,請各位大佬來波關注三連

本人部落格地址:stest.top