我有一个很大的电子表格文件(.xlsx),我正在使用python处理它。碰巧我需要那个大文件中两个选项卡(工作表)中的数据。其中一个选项卡包含大量数据,而另一个选项卡只有几个方形单元格
当我在任何工作表上使用pd.read\u excel()时,我觉得整个文件都加载了(不仅仅是我感兴趣的工作表)。因此,当我使用该方法两次(每张工作表一次)时,我实际上不得不忍受整个工作簿被读取两次(即使我们只使用指定的工作表)
如何仅加载带有pd.read\u excel()的特定工作表
尝试pd.ExcelFile:
xls=pd.ExcelFile('path_to_file.xls'))
df1=pd.read\u excel(xls,'Sheet1')
df2=pd.read\u excel(xls,'Sheet2')
正如@HaPsantran所指出的,整个Excel文件在调用ExcelFile()期间被读入(似乎没有办法解决这个问题)。这只会使您在每次访问新工作表时不必读取相同的文件
请注意,pd.read\u excel()的sheet\u name参数可以是工作表的名称(如上所述)、指定工作表编号的整数(如0、1等)、工作表名称或索引列表,或None。如果提供了列表,它将返回一个字典,其中键是图纸名称/索引,值是数据帧。默认情况下,只返回第一张图纸(即,sheet\u name=0)
如果指定了None,所有的工作表将作为{sheet\u name:dataframe}字典返回