• Как найти количество переходов между сессиями python?

    @10farid10 Автор вопроса
    devdb, У меня два акканута, просто я подумал что мой вопрос затерялся и решил еще раз из этого аккаунта спросить. Я просто не знаю механизм работы сайта. И там я пригласил по ошибке другого эксперта, а мне помогал другой человек хотел с ним связаться. Если есть такая возможнось могу удалить вопрос если это не по правилам данного форума
  • Как записать даные c помощью DataFrame?

    @10farid10 Автор вопроса
    o5a, Спасибо большое, получилось!
  • Как записать даные c помощью DataFrame?

    @10farid10 Автор вопроса
    o5a, Я читаю текст и вывожу от туда нужные мне элементы. Мне нужен примерно следующий результат:
    5fdcbd5e51439998626332.png
    Мне нужно данные сначала в список загрузить в этом случаее, а потом в эксель? Правильно ли я понял?

    import re
    import pandas as pd
    from datetime import datetime
    
    
    sessions = {}
    
    
    with open('final.txt', 'r', encoding='utf-8') as f:
        log = f.readlines()
    
    
    for line in log:
        
        if 'Login successful' in line:
            chunks = re.search(r"(.+?) Login successful from user (.+?) .+ session=(.+?) .+", line)
    
            # Возможно придется подкорректировать преобразование времени, если я не угадал с форматом 
            login_time = datetime.strptime(chunks.group(1), '%I:%M:%S %p')
    
            sessions[chunks.group(3)] = {'login_time': login_time, 'username': chunks.group(2)}
    
        elif 'Closing session' in line:
            
            chunks = re.search(r'(.+?) Closing session.+session=(.+?) .+', line)
    
            logout_time = datetime.strptime(chunks.group(1), '%I:%M:%S %p')
            session_id = chunks.group(2)
    
            if session_id not in sessions:
                print('Сессия {} закрыта, нет данных о входе'.format(session_id))
    
            else:
                login_time = sessions[session_id]['login_time']
                username = sessions[session_id]['username']
                session_time = logout_time - login_time
                print ("Пользователь {} зашел в {} под id {}".format(username, login_time, session_id))
                print ("Пользователь {} вышел в {} под id {}".format(username, logout_time, session_id))
                d = {'user': [username], 'login': [login_time], 'logout': [logout_time], 'session_id':[session_id]}
                df = pd.DataFrame(data=d)
                del sessions[session_id]
  • Как записать даные c помощью DataFrame?

    @10farid10 Автор вопроса
    o5a, ну тут одна проблема я не знаю что я буду получать и в каком количестве. Я из за этого прописал такую непонятную структуру.
  • Как записать даные c помощью DataFrame?

    @10farid10 Автор вопроса
    У меня есть файл с текстом и я оттуда выгружаю логины пользователей. и мне эти логины нужно записать в excel файл, но никак не получается он записывает последнюю
  • Как выполнить анализ текстовых логов на python?

    @10farid10 Автор вопроса
    Спасибо, очень помогли. Скажите, пожалуйчта, а почему когда я добавил одну фразу он выдал мне ошибку 'NoneType' object has no attribute 'groups'. Добавленный текст отметил жирным

    10:08:54 AM Login successful from user Sergey Pavlov from 127.0.0.1 (OtClient, normal) id_session=2710
    chunks = re.search(r'(.+?) Login successful from user (.+?) from 127.0.0.1 (OtClient, normal) id_session=(.+?)$', line)