Python-使用熊猫对同一工作簿的多个工作表进行pd.read_excel()

发布于 2021-02-02 23:10:00

我有一个较大的电子表格文件(.xlsx),正在使用python pandas处理。碰巧我需要那个大文件中两个标签中的数据。选项卡中的一个包含大量数据,另一个仅包含几个正方形单元格。

当我在任何工作表上使用pd.read_excel()时,在我看来整个文件都已加载(不仅仅是我感兴趣的工作表)。因此,当我两次使用该方法(每张纸一次)时,我实际上不得不使整个工作簿被读两次(即使我们仅使用指定的工作表)。

我使用的是错误的还是仅限于这种方式?

关注者
0
被浏览
43
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    尝试pd.ExcelFile

    xls = pd.ExcelFile('path_to_file.xls')
    df1 = pd.read_excel(xls, 'Sheet1')
    df2 = pd.read_excel(xls, 'Sheet2')
    

    正如@HaPsantran指出的那样,在ExcelFile()调用过程中将读取整个Excel文件(似乎没有办法解决此问题)。这仅使你不必每次访问新表时都必须读取相同的文件。

    请注意,sheet_name参数to pd.read_excel()可以是工作表的名称(如上),指定工作表编号的整数(例如0、1等),工作表名称或索引的列表或None。如果提供了列表,它将返回一个字典,其中的键是工作表名称/索引,值是数据框。默认设置是仅返回第一张纸(即sheet_name=0)。

    如果None指定,则将所有工作表作为{sheet_name:dataframe}字典返回。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看