web-dev-qa-db-ja.com

ネットワークドライブを介して.csvファイルから最後の行をすばやく取得するにはどうすればよいですか?

何千もの時系列をネットワークドライブの.csvファイルに保存しています。ファイルを更新する前に、まずファイルの最後の行を取得してタイムスタンプを確認し、次にそのタイムスタンプ以降のデータで更新します。 .csvファイルの最後の行をネットワークドライブ経由ですばやく取得して、最後の行を使用するためだけに巨大な.csvファイル全体をロードする必要がないようにするにはどうすればよいですか?

5
user1367204

組み込みのreversedモジュールを使用していると仮定すると、これには気の利いたcsvツールがあります。

Pythonでcsvファイルを逆の順序で読み取る方法

要するに:

import csv
with open('some_file.csv', 'r') as f:
    for row in reversed(list(csv.reader(f))):
        print(', '.join(row))

私のテストファイルでは:

1:   test, 1
2:   test, 2
3:   test, 3

この出力:

test, 3
test, 2
test, 1
5
Douglas