xlwings讀取一整個excel文件xlsx的第一sheet到pandas.DataFrame的方法


為什么不用:pd.read_excel ?

因為 pd 使用 openpyxl 讀取excel文件,有時候xlsx文件是由ApachIO產生的讀取進去會出錯,換個方式,用xlwings(基於pywin32,會調用系統自帶的excel軟件讀取)。

傳說會更快嗎,沒有測試速度,可以自行測試。

代碼:

import xlwings as xw
from pandas import Series

def xlwings_to_df(file,startline):#文件路徑,數據標題開始於第幾行
    app = xw.App(visible=False,add_book=False)
    wb = app.books.open(file)
    ws = wb.sheets[0]
    x,y=ws.used_range.shape
    index=Series(ws.range((startline,1),(startline,y)).value)
    data=ws.range((startline+1,1),(x,y)).value
   wb.close()#記得關閉不然系統會啟動多個excel軟件直到卡死
return pd.DataFrame(data,columns=index)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM