![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
scion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
что-то меня совсем клинит...
есть файлы... много... такого содержания: index;;/index.php;33.241.45.11;1244436502;0.0375900268555 index;;/index.php;77.241.45.11;1244436457;0.0375270843506 index;;/index.php;77.241.45.11;1244436458;0.0377089977264 index;;/index.php;77.241.45.11;1244436465;0.0376060009003 index;;/index.php;77.241.45.11;1244436472;0.0377838611603 index;;/index.php;77.241.45.11;1244436476;0.0371870994568 xmap;df;/xmap.php?option=getheroes&x=-6&y=7&_=1244436351824;44.155.184.33;1244436205;0.0984649658203 ... нужно вытаскивать имя модуля, и время генерации. т.е. index и 0.0375900268555 в этоге должна получится табличка: дата дата .... комп. сред.время ген. сред время генерации комп2 .... ... у меня получается:
в консоли testing]$ ./m3 time080609_* time080609_064748.csv time080609_084824.csv time080609_140745.csv time080609_154334.csv time080609_164353.csv profile 0.224117562884514 thunderpass 0.05857655207316 scenario 0.0617629442459667 library 0.1641442974408 rating 0.0596193586077143 duelfight 0.0797267879049167 city 0.0912417478339364 manage_objects 0.06533122062685 objects 0.06829326152805 view_progress 0.173910140991 petitions 0.0504851341248 arena 0.102865402872973 help 0.0813515166104712 training_mission 0.119192089353286 centre 0.068196551005 xmap 0.107584057183107 worldcontrol 0.057726562023175 chat 12.4510466194158 sampledf 0.07536292076109 index 0.0400535638023202 manage_question 0.0822335879009 user_manage 0.0563573837280333 questfulfil 0.0973893837494954 quest_manage 0.0606780476040289 в итоге получается среднее всех файлов. а как мне считать среднее каждого файла и выводить в такой табличке? |
|||
|
||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Надо сделать функцию обработки одного файла и выводить результат ее работы на каждой итерации (т.е. для каждого файла). В каком месте у Вас возникла проблема? -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
scion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
если выводить с каждого файла, то не получится построить таблици... .т.е данные нужна засунуть в массив. что бы их выводить в том порядке тоторый требуется... желательно двумерный... ээ в си я могу написать примерно так: massiv[i,j] и выводить строку с увелич. j как в перле быть с двухмерными массивами... не понимаю я млин. ваших хэшей... ###. рыдать... Это сообщение отредактировал(а) scion - 23.6.2009, 13:13 |
|||
|
||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
scion, про таблицу я пропустил. Для удобного вывода таблицы необходимо исходные данные записать в хэш формата:
%hash = { module1 => { data1 => [ sum, count ], data2 => [ sum, count ], ... } module2 => { data1 => [ sum, count ], data2 => [ sum, count ], ... } ... }; кроме этого понадобятся: массив с отсортированными датами и массив с названиями модулей (его можно создать в процессе обработки данных из файлов). -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
scion, хотел было помочь Вам, но понял, что ничего не понял.
В табличке нет имени модуля. Зачем его вытаскивать? Усреднять время нужно по чему? По файлам или по компам или по модулям? Вы определяете дату файла. Разве в имени файла не дата? Если да, то проще ее из имени взять. В общем, если нужна помощь, сформулируйте задачу четко, иначе ответы Вам неизбежно будут столь же не конкретны, насколько неточно сформулирована задача. Это сообщение отредактировал(а) amg - 23.6.2009, 15:32 |
|||
|
||||
scion |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
ок. есть файлы... много... такого содержания: файл созданый 23.07.09 index;;/index.php;33.241.45.11;1244436502;0.0375900268555 index;;/index.php;77.241.45.11;1244436457;0.0375270843506 chat;;/index.php;77.241.45.11;1244436458;0.0577089977264 index;;/index.php;77.241.45.11;1244436465;0.0376060009003 inad;;/index.php;77.241.45.11;1244436472;0.0377838611603 index;;/index.php;77.241.45.11;1244436476;0.0371870994568 xmap;df;/xmap.php?option=getheroes&x=-6&y=7&_=1244436351824;44.155.184.33;1244436205;0.0984649658203 ... файл созданый 22.07.09 chat;;/index.php;77.241.45.11;1244436458;0.0677089977264 xmap;df;/xmap.php?option=getheroes&x=-6&y=7&_=1244436351824;44.155.184.33;1244436205;0.0984649658203 ... в них складывается инфа. разделяемая ; (csv файл) нужно вытаскивать имя модуля, и время генерации (время генерации вытаскивается среднее для компонента). т.е. для первой строчки имя модуля будет index, а время генерации 0.0375900268555 собственно, что нудно, нужна таблица вида: дата дата .... компонет1. среднее время ген. сред время генерации компонет2 .... в нашем случаи: (для куска файла который я скопировал) таблица выглядит так: 23.07.09 22.07.09 ......n смотря сколько файлов я передаю скрипту... index 0.37 0 chat 0.05 0.067 inad 0.0377 0 xmap 0.098 0.098 ... Это сообщение отредактировал(а) scion - 23.6.2009, 15:56 |
||||
|
|||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
||||
|
||||
scion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
||||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
scion, попробуйте приложенный код, реализующий советы ginnie. Таблица будет по дням, т.е. несколько файлов одного и того же дня (если вдруг такие будут) объединятся.
Это сообщение отредактировал(а) amg - 24.6.2009, 15:47 |
|||
|
||||
scion |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
ыы =) госу... даже слов нет. я тут уже пару дней мучаюсь.... =( спасибо большое! этот код пока сложен для меня... а как всё данные разделить ; что бы получился csv файл. Тогда можно дует в exele открыть и наблюдать красивую табличку.... т.е.: COMPONENT;24.06.09;23.06.09;22.06.09;.... arena;0.0437;0.0414;... .... Это сообщение отредактировал(а) scion - 24.6.2009, 19:00 |
||||
|
|||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Если по-простому, то так:
А Вы спрашивайте, про то, что не понятно, не бойтесь и не стесняйтесь! Это сообщение отредактировал(а) ginnie - 24.6.2009, 19:08 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
amg |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Присоединяюсь к пожеланию ginnie. На всякий случай, чтобы было понятнее, приведу структуру хэша %table:
|
||||
|
|||||
scion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
спасибо большое!
что делает => и -> и что будет если в программу передать несколько файлов с одинаковой датой создания? |
|||
|
||||
amg |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
=> применяется для записи хэшей, $key => $value, это почти синоним запятой. -> совсем другое, это оператор разименования ссылки.
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |