在使用 Pandas 进行数据处理的情况下,通常需要从 Excel 文件访问特定工作表。但是,当使用 pd.read_excel() 函数时,整个工作簿不可避免地会加载到内存中。在处理大型 Excel 文件时,这可能会导致性能问题。
为了克服这一挑战,Pandas 提供了 pd.ExcelFile 类。此类允许您加载 Excel 文件一次并根据需要访问各个工作表,而无需重新加载整个文件。使用方法如下:
import pandas as pd # Read the Excel file using pd.ExcelFile xls = pd.ExcelFile('path_to_file.xlsx') # Load specific worksheets df1 = pd.read_excel(xls, 'Sheet1') df2 = pd.read_excel(xls, 'Sheet2')
需要注意的是,虽然使用 pd.ExcelFile 避免了整个工作簿的冗余加载,但它仍然需要初始加载文件。这意味着对于非常大的 Excel 文件,内存使用量可能仍然很大。
pd.read_excel() 函数提供了加载多个工作表的选项。您可以指定工作表名称或索引的列表,如下所示:
# Load multiple sheets as a dictionary sheet_names = ['Sheet1', 'Sheet2'] multiple_sheets = pd.read_excel('path_to_file.xlsx', sheet_name=sheet_names)
要将文件中的所有工作表作为字典加载,请使用 None 作为sheet_name 参数:
# Load all sheets as a dictionary all_sheets = pd.read_excel('path_to_file.xlsx', sheet_name=None)
以上是如何使用 Pandas 从大型 Excel 文件中高效地仅加载特定工作表?的详细内容。更多信息请关注PHP中文网其他相关文章!