ホームページ >バックエンド開発 >Python チュートリアル >Pandas を使用して大きな Excel ファイルから特定のワークシートのみを効率的にロードするにはどうすればよいですか?

Pandas を使用して大きな Excel ファイルから特定のワークシートのみを効率的にロードするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-28 21:11:14588ブラウズ

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)

ファイル内のすべてのシートを辞書としてロードするには、sheet_name 引数として None を使用します:

# Load all sheets as a dictionary
all_sheets = pd.read_excel('path_to_file.xlsx', sheet_name=None)

以上がPandas を使用して大きな Excel ファイルから特定のワークシートのみを効率的にロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。