使用 Pandas 高效地从工作簿加载特定工作表
Pandas 的 pd.read_excel() 函数是读取 Excel 工作簿的强大工具。但是,在处理包含多个工作表的大文件时,加载整个工作簿可能效率低下,尤其是当您只需要几个特定工作表中的数据时。
使用 pd.read_excel( 了解加载过程) )
在特定工作表上使用 pd.read_excel() 时,似乎整个工作簿都已加载到内存中。这是因为 pandas 内部使用 ExcelFile 对象来表示工作簿。 ExcelFile 对象在初始化期间解析整个文件,无论指定哪个工作表。
高效加载特定工作表
要优化加载过程,请考虑使用 pd直接.ExcelFile对象。通过使用工作簿路径实例化 ExcelFile 对象,您可以访问特定工作表,而无需重新加载整个文件。
例如:
xls = pd.ExcelFile('path_to_file.xls') df1 = pd.read_excel(xls, 'Sheet1') df2 = pd.read_excel(xls, 'Sheet2')
此方法在创建过程中仅加载整个工作簿一次ExcelFile 对象的。后续调用 pd.read_excel() 将从指定工作表中检索数据,而不会产生重新加载文件的开销。
加载多个工作表
此外,您可以向 pd.read_excel() 指定工作表名称或索引列表以同时加载多个工作表。这将返回一个字典,其中键是工作表名称或索引,值是相应的数据框。
例如:
sheet_list = ['Sheet1', 'Sheet2'] df_dict = pd.read_excel(xls, sheet_list)
加载所有工作表
如果需要加载工作簿中的所有工作表,请将sheet_name参数设置为无:
df_dict = pd.read_excel(xls, sheet_name=None)
以上是如何使用 Pandas 高效地从大型 Excel 文件加载特定工作表?的详细内容。更多信息请关注PHP中文网其他相关文章!