WARNING *** file size (1080329) not 512 + multiple of sector size (512)

之前寫過一篇【關於pd.read_excel()讀取xls文件報錯的解決辦法】
原文鏈接:https://blog.csdn.net/qq_35866846/article/details/103992604
優化下讀取函數,便於多個sheet讀取,和pd.read_excel一樣,sheet_name可以用序號也可以用sheet名

#自定義xls文件讀取函數 默認header=0,sheet_name=0
def read_xls_xcx(data_path,header=0,sheet_name=0):
    data=xlrdxcx.open_workbook(data_path)
    if type(sheet_name)==int:
        table=data.sheet_by_index(sheet_name)#通過索引打開
    else:
        table=data.sheet_by_name(sheet_name) #通過表單名打開
    nrows = table.nrows
    ncols = table.ncols
    result=[]
    for i in range(header,nrows):
        result1=[]
        for j in range(ncols):
            result1.append(table.cell(i, j).value)
        result.append(result1)
        
    pd_result=pd.DataFrame(result)
    pd_result.columns=pd_result.iloc[0,].tolist()
    pd_result=pd_result[1:].reset_index(drop=True)
    return pd_result

今天要說的問題不是這個,這個只是附帶優化下
重點問題是關於讀取xls時的一個警告
WARNING *** file size (1080329) not 512 + multiple of sector size (512)

產生這個錯誤的原因是xlrd下的compdoc.py文件的第117-118行附近(看有的是119行)代碼

   print("WARNING *** file size (%d) not 512 + multiple of sector size (%d)"
       % (len(mem), sec_size), file=logfile)

經測試:
是因爲下載的數據是受保護視圖,excel打開如下圖提示,當啓用編輯並保存後,此處警告就不存在了
在這裏插入圖片描述
具體什麼原因還不是太清楚,此警告不影響讀取的數據內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章