我每天都有一个日志文件,该文件放在我的局域网中的http服务器上,每天增长到大约3MB。 每15秒将新值写入该文件。它有一个时间戳列。我不需要许多其他列,因此我只需要其中5列。 熊猫应通过仅读取新记录来“监视”该文件。假设最后一次执行是2018-02-05 00:00:04.467,那么这应该是下一个运行时的过滤器(> 2018-02-05 00:00:04.467),并且在此运行时结束时,应该读取最后一个时间戳筛选下一个,依此类推... 我是熊猫的新手,还没有找到类似的线程。
答案 0 :(得分:1)
我想CSV将逐行写入,因此您可以读取变量rows
中的文件行数,而不是读取整个文件并进行过滤,而对于下一次运行,请使用{ {1}}传递带有值read_csv
的可选参数skiprows
来跳过文件中的第一行,然后递增range(1, rows + 1)
如果rows += len(df)
是
data.csv
和a,b,c
1,2,3
4,5,6
7,8,9
3,2,1
6,5,4
(即最后一次读取文件时有2行)
rows = 2
将是数据框
df = pd.read_csv("data.csv", usecols=["a", "c"], skiprows=range(1, rows + 1))
您将增加 a c
0 7 9
1 3 1
2 6 4
rows