2014-10-20 107 views
6

我正在潛入大熊貓並進行實驗。至於從Excel文件讀取數據。我想知道使用ExcelFile和read_excel有何區別。兩者似乎都可以工作(雖然語法稍有不同),並且文檔支持兩者。在這兩種情況下,文檔都描述了相同的方法:「將Excel表讀入DataFrame」和「將Excel表讀入pandas DataFrame」。 (documentation for read_excelfor excel_fileExcelFile VS. read_excel熊貓

我在這裏看到有關SO的答案,它使用兩種方法之一,無需解決差異問題。此外,谷歌搜索沒有產生討論這個問題的結果。

WRT我的測試中,這些似乎相當於:

path = "test/dummydata.xlsx" 
xl = pd.ExcelFile(path) 
df = xl.parse("dummydata") # sheet name 

path = "test/dummydata.xlsx" 
df = pd.io.excel.read_excel(path, sheetname=0) 
比後者節省了我行,有沒有兩者之間的區別其實其他

,並在那裏使用任何一個的理由?

謝謝!

+0

也不會真的爲你保存一行,因爲:df = pd.ExcelFile(path).parse(「dummydata」) – MarioTheHedgehog 2016-04-25 17:33:09

回答

2

我相信熊貓第一次執行excel使用了兩步過程,但後來又添加了一個叫做read_excel的進程。大概留下第一個,因爲人們已經在使用它

8

ExcelFile.parse更快。

假設您正在讀取循環中的數據幀。 With ExcelFile.parse您只需通過Excelfile對象(您的案例爲xl)。所以excel表只需加載一次,然後使用它來獲取數據框。 在Read_Excel的情況下,您將傳遞路徑而不是Excelfile對象。所以基本上每當工作簿再次加載時。如果您的工作簿中有大量工作表和成千上萬行,會造成混亂。