2014-10-20 113 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对象。所以基本上每当工作簿再次加载时。如果您的工作簿中有大量工作表和成千上万行,会造成混乱。