熊猫:读取具有可变时间戳记的大CSV

时间:2018-08-31 05:11:23

标签: pandas variables timestamp

我每天都有一个日志文件,该文件放在我的局域网中的http服务器上,每天增长到大约3MB。 每15秒将新值写入该文件。它有一个时间戳列。我不需要许多其他列,因此我只需要其中5列。 熊猫应通过仅读取新记录来“监视”该文件。假设最后一次执行是2018-02-05 00:00:04.467,那么这应该是下一个运行时的过滤器(> 2018-02-05 00:00:04.467),并且在此运行时结束时,应该读取最后一个时间戳筛选下一个,依此类推... 我是熊猫的新手,还没有找到类似的线程。

1 个答案:

答案 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