\

PythonでテキストファイルやCSVファイルの最終行を読む方法について説明します。以下にいくつかの方法を示します。

1. 組み込み関数 open() を使う

まずは組み込み関数 open() を使ってファイルオブジェクトを取得し、先頭からすべての行を読んで最後のn行だけ出力する方法です。

def tail(fn, n):
    with open(fn, 'r') as f:
        f.readline()
        lines = f.readlines()
        return lines[-n:]

2. csvモジュールを使う

csvモジュールは行ごとに自動で配列に変換してくれるので、若干処理が遅くはなりますが、より簡潔に記述できます。

import csv

def tail_csv(fn, n):
    with open(fn) as f:
        reader = csv.reader(f)
        next(reader)
        rows = [row for row in reader]
        return [list(map(float, row)) for row in rows[-n:]]

3. pandasモジュールを使う

pandasにはtail関数があるので驚くほど簡単に記述できます。

import pandas as pd

def tail_pd(fn, n):
    df = pd.read_csv(fn)
    return df.tail(n).values.tolist()
それぞれの方法には利点と欠点がありますので、使用する状況により適切な方法を選択してください。

Pythonでcsvファイルの最終行を読む方法いろいろ

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です