好吧,我需要检查行数> ='x',如果是,则删除前'n'行
当前,我将csv加载到df,删除行并将其重新加载,但这不是一种非常干净有效的方法。你还认识其他人吗?
这是我所看到的人类语言算法:
~~~~~~~~~~
if number_of_rows(file.csv) >= 3000:
del(file.csv[1:1499]) # as first line is header, we wouldn't want to delete it*
~~~~~~~~~~
UPD:忘记添加,该文件每分钟都在增长,我只需要它的最后1.5k行。 该代码是循环的一部分btw
答案 0 :(得分:0)
IIUC,如果您确定文件可以放入内存,则可以使用上下文管理器。
n = 25 # your line count.
with open('/path/to/your_file.csv') as f:
data = f.readlines()
lines = len(data)
if lines >= n:
df = pd.read_csv(data,skiprows=range((1, lines-1500)) #using range will keep your header.
else:
df = pd.read_csv(data)