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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2011, 11:37   #1
moonis
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 16
По умолчанию Импорт и анализ данных из текстового лога .txt в табличный отчет .xlsx

дано :
папка /LOG с ежеминутно обновляемым логом с именем ddmmyy.log, в формате:
dd:mm:yy hh:mm:сс ГВ ХВ ВД
Цитата:
12.11.11 16:49:29 32,4° 29,7° 27,8°
12.11.11 16:50:32 32,4° 29,7° 27,9°
12.11.11 16:51:34 32,4° 29,7° 27,8°
каждый день в 0:00 начинается новый лог файл dd+1:mm:yy
в каждом логе 700-2000 строк

На данный момент пользуюсь мастером импорта текста в екселе.
Импортирую каждый день вручную данные из лога, выделяю нужные значения, полученную строку искомых значений дозаписываю к вчерашним в другой файл, лист таблицу.

нужно реализовать:
Автоматически, каждый день, после полного формирования соответствующего логфайла, дозаписывается строка в отчет temp.xlsx, в формате:
1 столбец: Дата =dd:mm:yy дата соответствующего лога
2 столбец: МaxГВ =МАКС(ГВ) максимальное значение из столбца ГВ соответствующего лога
3 столбец: ВрMax =??? время соответствующее максимальному значению ГВ
4 столбец: МинГВ =МИН(ГВ) минимальное значение из столбца ГВ соответствующего лога
5 столбец: ВрMин =??? время соответствующее минимальному значению ГВ
6 столбец: СрГВ =СРЗНАЧ(ГВ) среднее значние в столбце ГВ
7-18 столбец: аналогично для ХВ и ВД

Как я понимаю это можно реализовать через скрипт VBА?
Как как полностью автоматизировать процесс? (предполагаю через планировщик задач например)
Перенос всех значений каждого лог файле не нужен

И кстати: как выделить в екселе столбец ВрMax и ВрMин значение времени соответствующее максимальному и минимальному ГВ
в логе могут встречаться строки типа
Цитата:
13.11.11 10:57:28 Stop
13.11.11 10:57:29 Start
13.11.11 10:57:29 DS10_001 DS10_002 DS10_003
и ошибки
Цитата:
13.11.11 10:55:26 Err 29,4° 27,8°
Вложения
Тип файла: rar LOG.rar (657.2 Кб, 16 просмотров)

Последний раз редактировалось moonis; 13.11.2011 в 11:49.
moonis вне форума Ответить с цитированием
Старый 13.11.2011, 14:05   #2
Djeki
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 136
По умолчанию

Цитата:
Сообщение от moonis Посмотреть сообщение
дано :

нужно реализовать:
Звучит как приказ..
Djeki вне форума Ответить с цитированием
Старый 13.11.2011, 14:36   #3
moonis
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Djeki Посмотреть сообщение
Звучит как приказ..
с чево вдруг?
Это просьба помочь реализовать задумку.
moonis вне форума Ответить с цитированием
Старый 13.11.2011, 14:38   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А вы сами-то пробовали автоматизировать?
Загрузить макросом данные из последнего текстового файла в двумерный массив,
обработать этот массив, занести его на скрытый лист Excel...

А дальше формулами, например, или сводными таблицами.
Делать за вас всю работу "с нуля" как-то не хочется...

PS: В вашем вложении - файл Excel из 2 строк весом более 5 мегабайтов.
По-вашему, это нормально?
EducatedFool вне форума Ответить с цитированием
Старый 13.11.2011, 15:05   #5
moonis
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 16
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
А вы сами-то пробовали автоматизировать?
в данный момент сижу изучаю что есть VBA.
Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Загрузить макросом данные из последнего текстового файла в двумерный массив,
обработать этот массив, занести его на скрытый лист Excel...

А дальше формулами, например, или сводными таблицами.
огромное спасибо за ссылки
Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Делать за вас всю работу "с нуля" как-то не хочется...
у нас страна свободная - аж через край льется. Никто никого ни чем не обязыват: приму с благодарностью любую помощь и подсказки. Однако, предпологая то, что для человека знающего, подобная задача не займет много труда и времени, создал тему.
Цитата:
Сообщение от EducatedFool Посмотреть сообщение
PS: В вашем вложении - файл Excel из 2 строк весом более 5 мегабайтов.
По-вашему, это нормально?
По-мойму, абсолютно и безусловно, что то не так?
в файле, не 2, а 1712 строк (прокрутите влево<<<<<<<<<)
зы
как выделить в екселе столбец ВрMax и ВрMин значение времени соответствующее максимальному и минимальному ГВ?

Последний раз редактировалось moonis; 13.11.2011 в 15:19.
moonis вне форума Ответить с цитированием
Старый 13.11.2011, 16:11   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
По-мойму, абсолютно и безусловно, что то не так?
в файле, не 2, а 1712 строк (прокрутите влево<<<<<<<<<)
зы
Вот ваш файл весом 200 к.
Должно вас все -таки испугать 5 метров лишних
Вложения
Тип файла: rar temp.rar (127.7 Кб, 13 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 13.11.2011, 17:07   #7
moonis
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 16
Смех

Цитата:
Сообщение от doober Посмотреть сообщение
Вот ваш файл весом 200 к.
Должно вас все -таки испугать 5 метров лишних
ну не испугало меня это чаво было то?)

Optional ByVal ColumnsSeparator$ = "°", _
лог формируется
12.11.11{пробел}16:49:29{5 пробелов}32,4° 29,7° 27,8°
как разделить дату время и первый столбец данных?
moonis вне форума Ответить с цитированием
Старый 13.11.2011, 17:10   #8
Zorg
Пользователь
 
Регистрация: 18.04.2008
Сообщений: 41
По умолчанию

Цитата:
Сообщение от moonis Посмотреть сообщение
ну не испугало меня это чаво было то?)

Optional ByVal ColumnsSeparator$ = "°", _
лог формируется
12.11.11{пробел}16:49:29{5 пробелов}32,4° 29,7° 27,8°
как разделить дату время и первый столбец данных?
Посмотрите, что напишет макрорекордер, когда вы разделяете "текст по столбцам" и разделение через пробел. А потом адаптируйте под свой макрос.
Zorg вне форума Ответить с цитированием
Старый 13.11.2011, 17:51   #9
moonis
Пользователь
 
Регистрация: 13.11.2011
Сообщений: 16
По умолчанию

маленько переиграл: логи пусть формируются
Цитата:
13.11.11;00:01:58;28,1;28,0;27,8;
13.11.11;00:03:01;28,1;28,0;27,8;
проще )
только теперь числа не воспринимаются как числа т.е. не считаются в формулах до того момента как первый раз обратишся к ячейке
в чем проблема?
пишет "число в этой строке отформатировано как текст или перед нис стоит апостроф."
Изображения
Тип файла: jpg 1.jpg (35.7 Кб, 128 просмотров)

Последний раз редактировалось moonis; 13.11.2011 в 17:59.
moonis вне форума Ответить с цитированием
Старый 13.11.2011, 18:01   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Я бы делал по такому алгоритму - открыл кодом файл, прочитал в переменную сразу весь (т.к. небольшой), разбил в массив по концам строк.
Перебираем массив - дату уже получили из названия файла, макс. и мин. с временем определяем перебором, среднее тоже - суммируем все, в конце делим на количество строк.
Но писать код не буду - Вы ошибаетесть, что это не займёт труда и времени...
EducatedFool уже далл ссылки на пример кода, пользуйтесь.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт данных из текстового файла в структуру glinin Общие вопросы C/C++ 1 20.10.2011 08:35
импорт данных из большого txt файла Неологист Microsoft Office Excel 14 28.09.2011 18:45
Импорт данных из текстового файла chobo Microsoft Office Excel 7 28.10.2010 14:29
импорт из txt, работа с массивом данных, экспорт в txt Danara Microsoft Office Excel 4 31.03.2010 00:26
Пишу диплом. Срочно нужен не табличный,подробный анализ сред программирования tosik Свободное общение 4 11.12.2009 10:46