Pythonでテキストファイルを読み込む際、特定の条件を満たす行だけを読み込むことがよくあります。この記事では、その方法をいくつか紹介します。
テキスト全体を先に読み込む
テキストファイル全体を読み込んだ後に、特定の行を指定して抽出する方法です。以下のように実装できます。
with open("sample.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
# 50001行目を取得
print(lines[50000].rstrip())
指定行までfor文でスキップする
指定行までfor文で読み飛ばすパターンです。以下のように実装できます。
with open("sample.txt", "r", encoding="utf-8") as f:
for _ in range(100000):
next(f)
line = f.readline()
print(line) # '100001行目\n'
isliceで複数行を指定する
itertools
モジュールのislice()
を使うと、特定の行を簡単に抽出できます。
from itertools import islice
with open("sample.txt", "r", encoding="utf-8") as f:
lines = islice(f, 1000, 1003)
for line in lines:
print(line.rstrip())
if文で条件分岐
特定の条件を満たす行だけを読み込む場合、if文で条件分岐を行います。
with open("sample.txt", "r", encoding="utf-8") as f:
for line in f:
if "特定の条件":
print(line)
これらの方法を組み合わせることで、様々な条件でのテキストファイルの読み込みが可能になります。適切な方法を選んで、効率的なコードを書きましょう。