Пытаюсь найти объект в списке, но ничего не получается - PullRequest
1 голос
/ 08 июля 2020

Итак, мой проект состоит из попытки получить все данные из этого файла (data.txt) и фильтрации, чтобы найти значения за прошлую неделю, поэтому я использовал datetime.timedelta, чтобы получить список со всеми датами текущего дня. и за 6 дней до этого, но когда я пытаюсь найти дату данных в файле и сравнить ее с датами в «списке последней недели», это не сработает, даже если они обе являются строками и оба находятся в тот же узор ГГ-ММ-ДД. Они идентичны, но всегда возвращает false. Это мой первый пост, так что, возможно, он немного сбивает с толку, но если бы вы могли мне помочь, было бы здорово.

Это то, что такое data.txt, он содержит продолжительность сеанса, время начала, время окончания и текущая дата сеанса.

0.6351542472839355;16:12:46.275692;16:12:46.910832;2020-07-08
0.24894213676452637;16:12:47.867543;16:12:48.116485;2020-07-08
0.2877843379974365;16:12:48.824725;16:12:49.112509;2020-07-08
200.29360198974609375;16:12:49.754576;16:12:50.048178;2020-07-08
200.25270724296569824;16:12:50.636086;16:12:50.888793;2020-07-08
3000.2298729419708252;16:12:51.469012;16:12:51.698880;2020-07-08

SESSION DURATION ; START TIME ; END TIME ; DATE
def last_week_hours():
    today = date.today()
    lastweekhours = 0
    weeklist = []
    for i in range(0,7):
        wdate = today - timedelta(days=i)
        weeklist.append(str(wdate))
    db = open('data.txt', 'rt')
    for line in db:
        info = line.split(';')
        sdate = info[3]
        sduration = info[0]
        if sdate in weeklist:
            print('sdate is in weeklist')
            lastweekhours += sduration

1 Ответ

0 голосов
/ 08 июля 2020

Я бы посоветовал, возможно, сделать sdate.strip () в строке 'for в db:' l oop, чтобы удалить любые начальные или конечные пробелы, которые могут или не могут мешать проверке равенства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...