@dimonrzhev

Как сосчитать на python из файла тхт строки с датой последних 7 дней?

Помогите пожалуйста с решением проблемы. Пытаюсь сделать статистику телеграм-бота, счетчик пользователей реализовал, добавив в команду старт следующий код (занесение user_id в текстовый файл):
file = open('stat.txt', 'r+')
database_id = file.read()
if str(message.from_user.id) in database_id:
file.close()
else:
file.write(datetime.datetime.today().strftime("%d-%m-%Y") + " " + str(message.from_user.id) + "\n")
file.close()

в команду статистики для считывания добавил:
def stat(message):
with open('stat.txt', 'r') as file:
count_users = len(file.readlines())

то есть считаем количество строк, это и есть пользователи бота. Но вот хочу сделать количество новых пользователей за последние 7 дней, никак не могу сообразить, как это реализовать, хочу сделать так, чтобы из файла выводилось количество строк с датой за последние 7 дней. Пример файла тхт:
61bf3404ccb68171202344.png
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 3
Shurik24
@Shurik24
Обычный программист самоучка
А зачем текстовые файлы использовать?
Может более практичнее работать с бд, там все легко и просто, много мучаться не надо
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Медитируйте
https://russianblogs.com/article/7951910016/

После медитации составляете awk команду, ее вывод получайте в питоне и дальше действуйте
Ответ написан
Комментировать
@kapp1
Если хочешь удобно работать со статистикой, но она хранится в txt, то воспользуйся Pandas например, переведи файл в табличный и работай как с электронной табличкой, выгружая, всё что нужно).

Но если очень хочешь примитивным способом то примерно так.

Делаешь функцию, аргументом передаёшь дату или ко-во дней
заводишь переменную счётчика
открываешь файлик, читаешь по строчно .readlines()
из строки вырезаешь символы через слайсы по количеству символов в дате, переводишь их в тип данных дата
если дата в нужным тебе диапазоне, то счётчик +1
закрываешь файлик
ретёрнишь значение из счётчика)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы