我正在處理大量CSV文件,每個文件都包含大量行.我的目標是逐行獲取數據并使用
Python將其寫入數據庫.但是,由于存在大量數據,我希望能夠跟蹤已寫入的數據量.為此,我計算了排隊的文件數量,并在每次文件完成時繼續添加一個文件.
我想為CSV文件做類似的事情并顯示我在哪一行,以及總共有多少行(例如:當前在X的第1行).我可以通過從一開始然后執行類似的操作輕松地獲得當前行:currentRow = 1,但是我不確定如何通過讀取行??的耗時過程來獲得總數.
另外,因為我的CSV文件都存儲在zip存檔中,我目前正在使用ZipFile模塊讀取它們,如下所示:
#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文件總行數的任何想法?
最佳答案 如果您只想顯示一些進度,可以嘗試使用
tqdm.
from tqdm import tqdm
with zipArchive.open(fileName[:-4] + '.csv', 'r') as csvFile:
lines = [line.decode('ascii') for line in csvFile]
currentRow = 1
for row in tqdm(csv.reader(lines), total=len(lines)):
print(row)
currentRow += 1
這應該給你一個光滑的進度條,你幾乎沒有任何努力.