大量の行を含む多数のCSVファイルを処理しています。私の目標は、データを1行ずつ取り出し、Pythonを使用してデータベースに書き込むことです。しかし、大量のデータがあるので、どのくらいのデータが書き込まれたかを追跡したいと思います。このために、私はファイルの量を数え、ファイルが完成するたびにファイルを追加し続けます。進行状況を表示するCSVの長さを取得
私はCSVファイルと同様のことを行い、私の行と合計行数を表示したいとします(たとえば、Currently on row 1 of X
)。私は容易に彼が現在の行を1つから始めることによって得ることができます:currentRow += 1
しかし、私は行を読むの時間がかかるプロセスに行くことで合計を得る方法が不明です。さらに
私のCSVファイルは、すべて私は現在このようにZIPファイルのモジュールを使用してそれらを読んでいるzipアーカイブに格納されているため:
#The Zip archive and the csv files share the same name
with zipArchive.open(fileName[:-4] + '.csv', 'r') as csvFile:
lines = (line.decode('ascii') for line in csvFile)
currentRow = 1
for row in csv.reader(lines):
print(row)
currentRow += 1
私はすぐにCSVファイルの総行数を取得する方法上の任意のアイデアを?
[csvファイルの行数]の複製が可能です。(http://stackoverflow.com/questions/27504056/row-count-in-a-csv-file) –
ファイルを読み取ろうとしませんか?そうでない場合は、 'lines = len(open(csv).readlines())' –
@double_jを使うことができます。私は、総行数を調べるために、すべての行をループすることを避けようとしています。しかし、私はzipアーカイブに保存されているCSVファイルから読んでいるので、あなたの解決策は適用されないかもしれません。プロセスを説明するためにコードを更新しました。 – ng150716