Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2017, 12:11   #1
mike684
Новичок
Джуниор
 
Регистрация: 15.10.2017
Сообщений: 1
По умолчанию Работа с фалом(посещения на сайте) Python

Дан текстовый файл со статистикой посещения сайта за неделю. Имеется 10 строк(10 посещений). Каждая строчка содержит ip адрес, время и название дня недели (например, 139.18.150.126 23:12:44 Sunday).
Создайте новый тектовый файл, который бы содержал список ip без повторений из первого файла. Для каждого ip укажите количетво посещений в неделю, наиболее популярный день недели, наиболее попудярный отрезок времени длиной в один час.
Последней строкой добавьте наиболее популярный отрезок времени длиной в один час в целом для сайта.
Создал блокнот файл(fail) из 10 строк, во второй файл(fail2) записал уникальные адреса и количество посещений для каждого. Как реализовать циклы для популярных дней и часов?
Спасибо
Код:
my_file = open('fail', 'r')
lines = my_file.readlines()
my_file.close()
#Режем строчки 
a = lines[0]
a = a.split(' ')
b = lines[1]
b = b.split(' ')
c = lines[2]
c = c.split(' ')
d = lines[3]
d = d.split(' ')
e = lines[4]
e = e.split(' ')
f = lines[5]
f = f.split(' ')
g = lines[6]
g = g.split(' ')
h = lines[7]
h = h.split(' ')
i = lines[8]
i = i.split(' ')
j = lines[9]
j = j.split(' ')


newlines = [a[0] + '\n', b[0]+ '\n', c[0]+ '\n', d[0]+ '\n', e[0]+ '\n', f[0]+ '\n', g[0]+ '\n', h[0]+ '\n', i[0]+ '\n', j[0]+ '\n'] #Сделали список из ip адресов
def f(newlines): #Избавляемся от повторов
    """Модуль позволяет избавиться от повторов и записать уникальные значения в нужном порядке в переменную f"""
    n = []
    for i in newlines:
        if i not in n:
            n.append(i)
    return n 
f = f(newlines) #список уникальных ip адресов
q = ['Список уникальных адресов \n']


my_file = open('fail2', 'w')
my_file.writelines(q)
my_file.writelines(f)
my_file.close()
i = 0
for element in f: #Считаем посещения в неделю
	f[i] = str(newlines.count(element))
	f[i] = f[i] + '\n'
	i = i + 1
my_file = open('fail2', 'a')
q = ['Количество посещений соответственно \n']
my_file.writelines(q)
my_file.writelines(f)
my_file.close()
mike684 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами (Python). бллон Python 0 19.12.2015 12:45
Ошибка роботы с фалом Fatummors Общие вопросы C/C++ 2 10.03.2010 10:42