首頁 > 後端開發 > Python教學 > 如何使用 Pandas 從大型 Excel 檔案中高效地僅載入特定工作表?

如何使用 Pandas 從大型 Excel 檔案中高效地僅載入特定工作表?

Barbara Streisand
發布: 2024-11-28 21:11:14
原創
662 人瀏覽過

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

使用 Pandas 從 Excel 檔案有效載入特定工作表

在使用 Pandas 進行資料處理的情況下,通常需要從 Excel 檔案存取特定工作表。但是,當使用 pd.read_excel() 函數時,整個工作簿不可避免地會載入到記憶體中。在處理大型 Excel 檔案時,這可能會導致效能問題。

解決方案:利用 pd.ExcelFile

為了克服這個挑戰,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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板