我每5-15秒钟从足球/足球中获取一些数据,并将它们保存在csv文件中。 我有两列时间,一列是“ tm”(时间分钟0-90),另一列是“ ts”(时间秒0-60),以便了解我从excel提供的一些照片:
现在我正试图从csv中获取最后五分钟的结果,但是我不知道如何。 我还可以更改将数据导入到csv的代码,如果有任何方法可以使其更容易阅读和计算最近5分钟。
我用来读取所有csv
文件并尝试获取最后30行的代码,看看是否是5分钟但是4-6分钟,所以我不会得到发生的数据。
csv_list = [f for f in listdir(mypath) if isfile(join(mypath, f))]
for fn in csv_list:
filepath = os.path.join(mypath + fn)
with open(filepath, "r") as f:
row_count = sum(1 for row in f)
f.close()
if row_count >= 30:
with open(filepath, "r") as f:
for line in (f.readlines()[-30:]):
line = (line.strip().split(","))
minutes.append(line[0])
print(minutes, line[27])
minutes.clear()
else:
print("is less")
答案 0 :(得分:0)
我知道我的解决方案不是最好的,但是您可以将时间戳记保存到每条记录中 =>获取最后的X(您肯定知道的记录数,该记录数在5分钟内会大于记录数)。 =>获取X行中所有时间戳大于该行时间戳的行(现在减去5分钟增量)
$query = Ad::query();
$query->where('category_id', $sub_category->category_id)->with(['description', 'resources', 'category.description', 'category.parent.description', 'promo', 'stats']);
//Bunch of conditions here? ...
//Minimal Price
if (null !== Input::get('min_price')) {
$query->when(request('min_price') >= 0, function ($q) {
return $q->where('price', '>=', request('min_price', 0));
});
}
//Maximum Price
if (null !== Input::get('max_price')) {
$query->when(request('max_price') >= 0, function ($q) {
return $q->where('price', '<=', request('max_price', 0));
});
}
//Order
$query->orderBy('updated_at', 'desc');
$ads = $query->get();