首页 >后端开发 >Python教程 >如何使用 Pandas 高效地从大型 Excel 文件加载特定工作表?

如何使用 Pandas 高效地从大型 Excel 文件加载特定工作表?

DDD
DDD原创
2024-11-29 01:36:12606浏览

How Can I Efficiently Load Specific Worksheets from a Large Excel File with Pandas?

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn