Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 13.10.2015
Сообщений: 5
1

Поиск в массиве с определенными параметрами

13.11.2016, 17:30. Показов 677. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, уважаемые форумчане!

Обращаюсь к Вам как к экспертам знания vba. Мне необходимо обработать более 1 млрд строк, догадываюсь, что это можно сделать оптимизировать, но знаний не хватает. Если есть такая возможность - помогите, пожалуйста.

Ситуация следующая:
У меня есть много текстовых файлов. Каждый из них - лог взвешивания, каждый содержит около 60 000 строк.
Я копирую каждый файл на отдельный лист (пример прикреплен). На листе взвешивания отделены пустыми строками друг от друга.
Мне необходимо скопировать на отдельный лист (или хотя бы как-то выделить) пропуска машин (в каждом взвешивании это срока со словами "отсканирован пропуск"), вес которых 45 и более тонн (в каждом взвешивании это строка с текстом "зарегистрированный вес") и в которых разница при процедуре взвешивания более 9 тонн (сейчас я это сравниваю формулами, вычитая одну текущую ячейку из следующей, в файле вложении это видно). Проблема в том, что в каждом взвешивании количество строк разное.
Сейчас я делаю всё это вручную... примерно 3 месяца нужно, чтобы обработать все логи.
Вложения
Тип файла: 7z взвешивания.7z (1.56 Мб, 7 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2016, 17:30
Ответы с готовыми решениями:

Поиск между определенными заголовками в Word
Здравствуйте. Данный макрос ищет слова по всему Word документу. А можно ли сделать так, чтобы он...

Как запустить надстройку Solver(Поиск решения)из макроса с заданными параметрами?
Помогите, кто может!!!! Как запустить надстройку Solver(Поиск решения)из макроса с заданными...

Запуск программы с определенными параметрами
В WF есть команда Shell("и тут параметры запуска другой программы") допустим Shell("bin\Con.bin...

Экспорт в Word таблицы с определенными параметрами
Добрый вечер все помоги решить вот такую задачу! Как из VB 2013 дать команду в WORD что бы он...

5
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
13.11.2016, 20:49 2
stasprv, Будет разумней если вы выложите сюда пример содержащий 10-12 строк с тэгом TABLE, укажете какие строки должны быть по вашему алгоритму выделены и почему.
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
13.11.2016, 21:05 3
stasprv, покажите на другом листе файла, что должно получаться в итоге, для нескольких взвешиваний.
И приложите пару исходных текстовых файлов - может, удобнее будет не открывать их в Excel, а читать построчно кодом.
0
0 / 0 / 0
Регистрация: 13.10.2015
Сообщений: 5
14.11.2016, 20:00  [ТС] 4
renat_dmitriev , спасибо за совет. Я новичок на форуме. Прилагаю пример лога взвешиваний с пояснениями

 
01,08,2016 03:47:30 Перекрыт правый датчик,
01,08,2016 03:47:31 Нестабильный вес около нуля,
01,08,2016 03:47:31 Текущий вес: 0,140
01,08,2016 03:47:31 Закрыть левый шлагбаум
01,08,2016 03:47:31 Нестабильный вес,
01,08,2016 03:47:31 Текущий вес: 0,500
01,08,2016 03:47:31 Текущий вес: 6,140
01,08,2016 03:47:32 Текущий вес: 5,980
01,08,2016 03:47:32 Текущий вес: 5,760
01,08,2016 03:47:32 Текущий вес: 5,740
01,08,2016 03:47:33 Текущий вес: 11,060
01,08,2016 03:47:33 Текущий вес: 14,760
01,08,2016 03:47:33 Текущий вес: 17,660
01,08,2016 03:47:33 Текущий вес: 23,660
01,08,2016 03:47:34 Текущий вес: 23,560
01,08,2016 03:47:34 Текущий вес: 23,700
01,08,2016 03:47:34 Текущий вес: 23,800
01,08,2016 03:47:34 Текущий вес: 23,980
01,08,2016 03:47:35 Текущий вес: 29,580
01,08,2016 03:47:35 Текущий вес: 33,520
01,08,2016 03:47:35 Текущий вес: 37,220
01,08,2016 03:47:35 Текущий вес: 40,940
01,08,2016 03:47:36 Текущий вес: 43,700
01,08,2016 03:47:36 Текущий вес: 49,240
01,08,2016 03:47:36 Текущий вес: 51,400
01,08,2016 03:47:36 Открыты оба датчика,
01,08,2016 03:47:36 Текущий вес: 58,800
01,08,2016 03:47:37 Текущий вес: 60,460
01,08,2016 03:47:37 Текущий вес: 62,760
01,08,2016 03:47:37 Текущий вес: 60,140
01,08,2016 03:47:37 Текущий вес: 61,120
01,08,2016 03:47:38 Текущий вес: 61,340
01,08,2016 03:47:38 Текущий вес: 61,320
01,08,2016 03:47:38 Текущий вес: 61,240
01,08,2016 03:47:38 Текущий вес: 60,820
01,08,2016 03:47:39 Текущий вес: 62,200
01,08,2016 03:47:39 Текущий вес: 60,380
01,08,2016 03:47:39 Текущий вес: 61,280
01,08,2016 03:47:39 Текущий вес: 60,860
01,08,2016 03:47:40 Текущий вес: 60,900
01,08,2016 03:47:40 Текущий вес: 61,640
01,08,2016 03:47:40 Текущий вес: 61,360
01,08,2016 03:47:40 Текущий вес: 61,320
01,08,2016 03:47:41 Текущий вес: 61,340
01,08,2016 03:47:41 Текущий вес: 61,480
01,08,2016 03:47:41 Текущий вес: 59,640
01,08,2016 03:47:41 Текущий вес: 62,380
01,08,2016 03:47:42 Текущий вес: 61,340
01,08,2016 03:47:42 Текущий вес: 60,880
01,08,2016 03:47:42 Текущий вес: 60,920
01,08,2016 03:47:42 Текущий вес: 61,180
01,08,2016 03:47:43 Текущий вес: 61,340
01,08,2016 03:47:43 Текущий вес: 61,140
01,08,2016 03:47:43 Текущий вес: 61,220
01,08,2016 03:47:43 Текущий вес: 61,320
01,08,2016 03:47:44 Текущий вес: 61,200
01,08,2016 03:47:44 Текущий вес: 61,300
01,08,2016 03:47:45 Текущий вес: 61,260
01,08,2016 03:47:45 Текущий вес: 61,200
01,08,2016 03:47:45 Текущий вес: 61,220
01,08,2016 03:47:45 Текущий вес: 61,200
01,08,2016 03:47:45 Текущий вес: 61,140
01,08,2016 03:47:47 Стабильный вес,
01,08,2016 03:47:47 Текущий вес: 61,160
01,08,2016 03:47:50 Табло: "Отсканируйте пропуск"
01,08,2016 03:47:51 Закрыть правый шлагбаум
01,08,2016 03:47:51 Отсканирован пропуск "D26,1 961469" - отсюда необходимо взять номер пропуска
01,08,2016 03:47:51 Табло: "Погасить все надписи,"
01,08,2016 03:47:51 Зарегистрированный вес: 61,160 - зарегистрированный вес более 45 тн.
01,08,2016 03:47:51 Телеграмма отправлена (см, лог телеграмм)
01,08,2016 03:47:51 Отсканирован пропуск "D26,1 961469"
01,08,2016 03:47:52 Табло: "Освободите весы"
01,08,2016 03:47:52 Открыть левый шлагбаум
01,08,2016 03:47:59 Нестабильный вес,
01,08,2016 03:47:59 Табло: "Погасить все надписи,"
01,08,2016 03:47:59 Текущий вес: 61,180
01,08,2016 03:48:00 Текущий вес: 61,200
01,08,2016 03:48:01 Текущий вес: 61,220
01,08,2016 03:48:01 Стабильный вес,
01,08,2016 03:48:02 Текущий вес: 61,240
01,08,2016 03:48:06 Текущий вес: 61,260
01,08,2016 03:48:11 Текущий вес: 61,240
01,08,2016 03:48:11 Нестабильный вес,
01,08,2016 03:48:11 Перекрыт левый датчик,
01,08,2016 03:48:11 Текущий вес: 60,980
01,08,2016 03:48:12 Текущий вес: 60,600
01,08,2016 03:48:12 Текущий вес: 54,700
01,08,2016 03:48:12 Текущий вес: 54,640
01,08,2016 03:48:13 Текущий вес: 54,740
01,08,2016 03:48:13 Текущий вес: 54,640
01,08,2016 03:48:13 Текущий вес: 54,660
01,08,2016 03:48:14 Текущий вес: 54,640
01,08,2016 03:48:14 Текущий вес: 54,660
01,08,2016 03:48:15 Стабильный вес,
01,08,2016 03:48:15 Нестабильный вес,
01,08,2016 03:48:15 Текущий вес: 54,400
01,08,2016 03:48:16 Текущий вес: 53,780
01,08,2016 03:48:16 Текущий вес: 44,920
01,08,2016 03:48:16 Текущий вес: 44,880
0
0 / 0 / 0
Регистрация: 13.10.2015
Сообщений: 5
14.11.2016, 20:05  [ТС] 5
Казанский, было бы отлично, если бы логи взвешиваний, попадающие под условия (разница в любых из взвешиваний подряд больше 9 тн. и зарегистрированная масса более 45 ny) копировались на отдельный лист подряд. Если это сложно, то можно просто копировать на новый лист номера пропусков.
Пример лог файла прикрепляю
Вложения
Тип файла: 7z 29-06-2016 [Scale-1].7z (72.5 Кб, 0 просмотров)
0
0 / 0 / 0
Регистрация: 13.10.2015
Сообщений: 5
14.11.2016, 20:10  [ТС] 6
renat_dmitriev , спасибо за совет. Я новичок на форуме. Прилагаю пример лога взвешиваний с пояснениями

 
01,08,2016 03:47:30 Перекрыт правый датчик,
01,08,2016 03:47:31 Нестабильный вес около нуля,
01,08,2016 03:47:31 Текущий вес: 0,140
01,08,2016 03:47:31 Закрыть левый шлагбаум
01,08,2016 03:47:31 Нестабильный вес,
01,08,2016 03:47:31 Текущий вес: 0,500
01,08,2016 03:47:31 Текущий вес: 6,140
01,08,2016 03:47:32 Текущий вес: 5,980
01,08,2016 03:47:32 Текущий вес: 5,760
01,08,2016 03:47:32 Текущий вес: 5,740
01,08,2016 03:47:33 Текущий вес: 11,060
01,08,2016 03:47:33 Текущий вес: 14,760
01,08,2016 03:47:33 Текущий вес: 17,660
01,08,2016 03:47:33 Текущий вес: 23,660
01,08,2016 03:47:34 Текущий вес: 23,560
01,08,2016 03:47:34 Текущий вес: 23,700
01,08,2016 03:47:34 Текущий вес: 23,800
01,08,2016 03:47:34 Текущий вес: 23,980
01,08,2016 03:47:35 Текущий вес: 29,580
01,08,2016 03:47:35 Текущий вес: 33,520
01,08,2016 03:47:35 Текущий вес: 37,220
01,08,2016 03:47:35 Текущий вес: 40,940
01,08,2016 03:47:36 Текущий вес: 43,700
01,08,2016 03:47:36 Текущий вес: 49,240
01,08,2016 03:47:36 Текущий вес: 51,400
01,08,2016 03:47:36 Открыты оба датчика,
01,08,2016 03:47:36 Текущий вес: 58,800
01,08,2016 03:47:37 Текущий вес: 60,460
01,08,2016 03:47:37 Текущий вес: 62,760
01,08,2016 03:47:37 Текущий вес: 60,140
01,08,2016 03:47:37 Текущий вес: 61,120
01,08,2016 03:47:38 Текущий вес: 61,340
01,08,2016 03:47:38 Текущий вес: 61,320
01,08,2016 03:47:38 Текущий вес: 61,240
01,08,2016 03:47:38 Текущий вес: 60,820
01,08,2016 03:47:39 Текущий вес: 62,200
01,08,2016 03:47:39 Текущий вес: 60,380
01,08,2016 03:47:39 Текущий вес: 61,280
01,08,2016 03:47:39 Текущий вес: 60,860
01,08,2016 03:47:40 Текущий вес: 60,900
01,08,2016 03:47:40 Текущий вес: 61,640
01,08,2016 03:47:40 Текущий вес: 61,360
01,08,2016 03:47:40 Текущий вес: 61,320
01,08,2016 03:47:41 Текущий вес: 61,340
01,08,2016 03:47:41 Текущий вес: 61,480
01,08,2016 03:47:41 Текущий вес: 59,640
01,08,2016 03:47:41 Текущий вес: 62,380
01,08,2016 03:47:42 Текущий вес: 61,340
01,08,2016 03:47:42 Текущий вес: 60,880
01,08,2016 03:47:42 Текущий вес: 60,920
01,08,2016 03:47:42 Текущий вес: 61,180
01,08,2016 03:47:43 Текущий вес: 61,340
01,08,2016 03:47:43 Текущий вес: 61,140
01,08,2016 03:47:43 Текущий вес: 61,220
01,08,2016 03:47:43 Текущий вес: 61,320
01,08,2016 03:47:44 Текущий вес: 61,200
01,08,2016 03:47:44 Текущий вес: 61,300
01,08,2016 03:47:45 Текущий вес: 61,260
01,08,2016 03:47:45 Текущий вес: 61,200
01,08,2016 03:47:45 Текущий вес: 61,220
01,08,2016 03:47:45 Текущий вес: 61,200
01,08,2016 03:47:45 Текущий вес: 61,140
01,08,2016 03:47:47 Стабильный вес,
01,08,2016 03:47:47 Текущий вес: 61,160
01,08,2016 03:47:50 Табло: "Отсканируйте пропуск"
01,08,2016 03:47:51 Закрыть правый шлагбаум
01,08,2016 03:47:51 Отсканирован пропуск "D26,1 961469" - отсюда необходимо взять номер пропуска
01,08,2016 03:47:51 Табло: "Погасить все надписи,"
01,08,2016 03:47:51 Зарегистрированный вес: 61,160 - зарегистрированный вес более 45 тн.
01,08,2016 03:47:51 Телеграмма отправлена (см, лог телеграмм)
01,08,2016 03:47:51 Отсканирован пропуск "D26,1 961469"
01,08,2016 03:47:52 Табло: "Освободите весы"
01,08,2016 03:47:52 Открыть левый шлагбаум
01,08,2016 03:47:59 Нестабильный вес,
01,08,2016 03:47:59 Табло: "Погасить все надписи,"
01,08,2016 03:47:59 Текущий вес: 61,180
01,08,2016 03:48:00 Текущий вес: 61,200
01,08,2016 03:48:01 Текущий вес: 61,220
01,08,2016 03:48:01 Стабильный вес,
01,08,2016 03:48:02 Текущий вес: 61,240
01,08,2016 03:48:06 Текущий вес: 61,260
01,08,2016 03:48:11 Текущий вес: 61,240
01,08,2016 03:48:11 Нестабильный вес,
01,08,2016 03:48:11 Перекрыт левый датчик,
01,08,2016 03:48:11 Текущий вес: 60,980
(удалил часть лога)
01,08,2016 03:48:21 Текущий вес: 37,140
01,08,2016 03:48:21 Текущий вес: 36,620 - разница в этом и следующем взвешивании более 9 тн. необходимо анализировать разницу между всеми взвешиваниями
01,08,2016 03:48:21 Текущий вес: 26,060
01,08,2016 03:48:21 Текущий вес: 26,000
01,08,2016 03:48:22 Текущий вес: 25,740
01,08,2016 03:48:22 Текущий вес: 25,660
01,08,2016 03:48:22 Текущий вес: 23,960
01,08,2016 03:48:22 Текущий вес: 16,440
01,08,2016 03:48:23 Текущий вес: 15,360
01,08,2016 03:48:23 Текущий вес: 15,180
01,08,2016 03:48:23 Текущий вес: 15,260
01,08,2016 03:48:23 Текущий вес: 15,500
01,08,2016 03:48:24 Текущий вес: 10,240
0
14.11.2016, 20:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2016, 20:10
Помогаю со студенческими работами здесь

Массовое создание элементов с определенными параметрами
Добрый день, господа. Хочу узнать как массово создать определенное количество элементов упорядочные...

Отображения данных в datagridview с определенными параметрами
Всем доброго времени суток, у меня есть база данных в которой есть 5 ячеек и все это добро...

Выбрать все объекеты с определенными параметрами
У меня есть около 5 картинок и мне нужно обратиться к тем, у которых прозрачность != 1. ...

Отправка пост запроса с определенными параметрами
мне нужно байты файла считать, в base64string перевести, и делать пост запрос с параметрами которые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru