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

Python で大きなファイルから特定の行を効率的に読み取るにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-08 19:39:12476ブラウズ

How to Efficiently Read Specific Lines from a Large File in Python?

ファイルからの特定の行の読み取り

for ループを使用してファイルを反復処理する場合、特定の行のみを読み取る必要がある場合があります。 Python では、ループを使用してファイル内のすべての行を反復処理できますが、ファイル全体を読み取らずに特定の行を読み取る機能は組み込まれていません。

ただし、次のような状況では回避策が利用できます。ファイルが大きいため、ファイル全体をメモリに読み取ることは現実的ではありません。これには、ファイルを 1 行ずつ繰り返し、条件を適用して目的の行を読み取ることが含まれます。

fp = open("file")
for i, line in enumerate(fp):
    if i == 25:
        # Process 26th line
    elif i == 29:
        # Process 30th line
    elif i > 29:
        break
fp.close()

注: ループ内の行番号は 0 から始まり、最初の行を意味します。行のインデックスは 0 です。

Python 2.6 および以降:

Python 2.6 以降では、with ステートメントを利用して適切なファイル処理を保証できます:

with open("file") as fp:
    for i, line in enumerate(fp):
        if i == 25:
            # Process 26th line
        elif i == 29:
            # Process 30th line
        elif i > 29:
            break

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

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