filename = 'NTS.csv'
mycsv = open(filename, 'r')
mycsv.seek(0, os.SEEK_END)
while 1:
time.sleep(1)
where = mycsv.tell()
line = mycsv.readline()
if not line:
mycsv.seek(where)
else:
arr_line = line.split(',')
var3 = arr_line[3]
print (var3)
我有這個Paython代碼,它讀取csv文件中的值,每當從外部程序在csv中打印一行新行時。我的問題是,csv文件是定期完全重寫,然後python停止閱讀新行。我的猜測是,python卡在某些行號,新的更新可能會放50或更少的行。因此,例如,python現在在第70行等待新行,並且新行已經在第95行。我認爲解決方案是讓mycsv.seek(0,os.SEEK_END)得到更新,但不知道如何做到這一點。使用python讀取CSV文件
這取決於文件如何被重寫。如果文件被有效地重寫*就地*,我無法重現...除了指針位於文件中的給定位置時,只有當文件至少具有該長度時纔會再次讀取。但要小心:文件中的指針沒有行計數的概念,只有字節計數... –