найти разницу во времени между предыдущими и новыми данными в сборе с помощью pymongo - PullRequest
0 голосов
/ 20 июня 2020

У меня есть список словарных данных, которые вставляются в mongodb с использованием pymon go

    data =[{
        "cam_name" : "cam1",
        "stats" : [
                {
                        "total" : 10,
                        "red" : 5,
                        "yellow" : 0,
                        "green" : 5,
                        "time_stamp" : datetime(2020,6,20,17,52,4,992000),
                        "image_path" : "image/19-06-2020/cam1/19-06-2020_17-52-16.jpg"
                },
                {
                        "total" : 10,
                        "red" : 5,
                        "yellow" : 0,
                        "green" : 5,
                        "time_stamp" : datetime(2020,6,20,17,52,27,992000),
                        "image_path" : "image/19-06-2020/cam1/19-06-2020_17-52-25.jpg"
                },
                {
                        "total" : 10,
                        "red" : 5,
                        "yellow" : 0,
                        "green" : 5,
                        "time_stamp" : datetime(2020,6,20,17,52,1,992000),
                        "image_path" : "image/19-06-2020/cam1/19-06-2020_17-52-25.jpg"
                }]
},

    {
        "cam_name": "cam2",
        "stats": [
            {
                "total": 10,
                "red": 5,
                "yellow": 0,
                "green": 5,
                "time_stamp": datetime(2020, 6, 20, 17, 52, 6, 992000),
                "image_path": "image/19-06-2020/cam1/19-06-2020_17-52-16.jpg"
            },
            {
                "total": 10,
                "red": 5,
                "yellow": 0,
                "green": 5,
                "time_stamp": datetime(2020, 6, 20, 17, 52, 59, 992000),
                "image_path": "image/19-06-2020/cam1/19-06-2020_17-52-25.jpg"
            },
            {
                "total": 10,
                "red": 5,
                "yellow": 0,
                "green": 5,
                "time_stamp": datetime(2020,6, 20, 17, 52, 4, 992000),
                "image_path": "image/19-06-2020/cam1/19-06-2020_17-52-25.jpg"
            }]
    }

]

И после ввода данных я пытаюсь найти разницу между временем между каждым элементом в списке доступных словарей для ключа ['stats'] ['time_stamp']

Но я не могу узнать, используя подход поиска разницы между элементами, доступными в списке

from pymongo import MongoClient
from datetime import datetime
import json
import pandas as pd
from datetime import timedelta

myclient = MongoClient('localhost', 27017)

master_data = myclient['data_set']
cam_db = master_data['cam_table']

prev = None
for i,c in enumerate(data):
for k in c['stats']:
    #print(k['time_stamp'])
    if prev==None:
        prev = k['time_stamp']
        #print(prev)
    else:
        prev = k['time_stamp'] - prev
        print(prev)

вывод :

0:00:23
2020-06-20 17:52:08.992000
-1 day, 23:59:56
2020-06-20 17:52:31.992000
0:00:00

после этого я не могу найти идеальный подход для использования для определения разницы во времени

Примечание: я хочу проверить, является ли разница во времени между всеми доступными данными менее 20 секунд или нет Предложения будут действительно полезны

...