我有一个很大的Electron 表格文件(.xlsx),我正在使用python处理它.碰巧我需要那个大文件中两个选项卡(工作表)的数据.其中一个标签有大量数据,另一个只有几个方形单元格.

当我在any工作表上使用pd.read_excel()时,我觉得整个文件都加载了(不仅仅是我感兴趣的工作表).因此,当我使用该方法两次(每张工作表一次)时,我实际上不得不忍受整个工作簿被读两次(即使我们只使用指定的工作表).

如何仅加载特定的pd.read_excel()页?

推荐答案

试试pd.ExcelFile:

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

正如@HaPsantran所指出的那样,整个Excel文件都是在ExcelFile()调用期间读入的(似乎没有解决这个问题的办法).这只是使您不必在每次要访问新工作表时读取相同的文件.

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

如果指定了None,则返回all张,作为{sheet_name:dataframe}字典.

Python相关问答推荐

将numpy数组存储在原始二进制文件中

TARete错误:类型对象任务没有属性模型'

SQLGory-file包FilField不允许提供自定义文件名,自动将文件保存为未命名

如何检测背景有噪的图像中的正方形

在Python Attrs包中,如何在field_Transformer函数中添加字段?

如何在WSL2中更新Python到最新版本(3.12.2)?

所有列的滚动标准差,忽略NaN

迭代嵌套字典的值

Pandas Loc Select 到NaN和值列表

在Python中,从给定范围内的数组中提取索引组列表的更有效方法

无法连接到Keycloat服务器

与命令行相比,相同的Python代码在Companyter Notebook中运行速度慢20倍

如何在Python中使用另一个数据框更改列值(列表)

将scipy. sparse矩阵直接保存为常规txt文件

基于行条件计算(pandas)

将CSS链接到HTML文件的问题

当HTTP 201响应包含 Big Data 的POST请求时,应该是什么?  

合并相似列表

Python协议不兼容警告

Python:在cmd中添加参数时的语法