Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание .bat файла для выборки строк из .csv файла в .xlsx

Ответить
Настройки темы
CMD/BAT - Создание .bat файла для выборки строк из .csv файла в .xlsx

Новый участник


Сообщения: 22
Благодарности: 1

Профиль | Отправить PM | Цитировать


Суть такова. Есть 6 csv файлов с разными именами, в них по 4 столбца. В первом столбце мак хэш сетевого устройства, во втором дата и время (чч.мм.гггг чч:мм), в третьем уровень сигнала (-25 например), в четвертом название устройства.
Необходим скрипт (он будет в папке с csv файлами), при запуске которого в csv файле с именем "C46E1F5A5DD4" во втором столбце будут искаться ячейки где перерыв во времени составляет больше 5 минут.
Выглядит этот столбец так:
61C5CDFAF15E602BA6FBF558497AD741 09.12.2015 11:35 -53 nokia
8F5B5E1AFE81B77705310942D9A5ED15 09.12.2015 11:35 -75 samsung
DC34B0E1B18874CE58AA9C81FB468340 09.12.2015 11:35 -69 samsung
D4F0561F459F304F7BB77E42F7C2F096 09.12.2015 11:35 -69 samsung
D2D6DB4EF7C69060CA87934F930E23BA 09.12.2015 11:35 -80 samsung
0E3E3642F5275969DBDE043823F95B30 09.12.2015 11:43 -52

A10AE2D6CD32B0CAD6505E29ABADCB18 09.12.2015 11:43 -75 local
DD9AF3BB214ED6AD3301956BAFB0AB74 09.12.2015 11:43 -72 apple
Жирным текстом выделены строки перерыв между которыми составляет больше 5 минут.
Нужно чтобы скрипт нашел все эти строки в файле csv, для него создал xlsx файл и вогнал обе эти строки в этот xlsx файл.
Всего строк в этих файлах по 40-50 тысяч, визуально все строки просмотреть и вычислить где-же интервал составляет более 5 минут - очень тяжко.
Глаза буквально вываливаются из орбит.
Помогите пожалуйста, очень вас я прошу.

Отправлено: 14:07, 10-12-2015

 

Новый участник


Сообщения: 22
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
$csv = import-csv -delimiter ';' -header 'Hash','DateTime','SignalLevel','Brand' C46E1F07AF88.csv
$check = [datetime] $csv[0].datetime.replace(':\d{2}$',$null)
1..($csv.count-1) | foreach {
if ((([datetime] $csv[$_].datetime.replace(':\d{2}$',$null)) - $check).minutes -gt 5)
{
[array] $new_csv += $csv[($_-1)]
$new_csv += $csv[$_]
$check = [datetime] $csv[$_].datetime.replace(':\d{2}$',$null)
}
}
$new_csv | convertto-csv -notypeinfo | out-file new.csv »
Раньше времени порадовался)
Код работает, но какие-то нестыковки заметил.
Сверил 2 файла, исходный и получившийся, и как то не сходится то, что было и то, что стало.
Выскажу свои догадки.
Исходный файл csv который я прикреплял, содержит строки, для которых не включен фильтр "от старых к новым". Поэтому там время идет таким образом:
09.12.2015 9:57
09.12.2015 9:59
09.12.2015 9:57
09.12.2015 9:59
09.12.2015 9:58
09.12.2015 9:59
09.12.2015 9:59
09.12.2015 9:59
09.12.2015 9:57
09.12.2015 9:57
09.12.2015 9:59
09.12.2015 9:57
09.12.2015 10:00
09.12.2015 9:57
09.12.2015 9:57
09.12.2015 9:57
09.12.2015 10:00
09.12.2015 9:57
09.12.2015 10:00
09.12.2015 9:57
09.12.2015 10:00

Соответственно и выборка по времени некорректная получается.
Попробовал отфильтровать файл по времени, но все равно данные не сходятся.
Чтобы вы поняли о чем я говорю, прикрепляю ссылки на исходник и выходной файл.
http://depositfiles.com/files/i9d94lk6v
http://depositfiles.com/files/xniq7f06r

Попытался разобраться своими силами, но безуспешно.
Приходится вновь обращаться к вам за помощью.

Отправлено: 15:34, 14-12-2015 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание .bat файла для выборки строк из .csv файла в .xlsx

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Создание bat файла c помощью другого bat файла GODolubOFF Скриптовые языки администрирования Windows 11 03-01-2016 20:30
CMD/BAT - Создание bat файла для работы с файлами. Bugaga321 Скриптовые языки администрирования Windows 2 22-04-2015 22:37
CMD/BAT - [решено] Создание CSV файла Miravild Скриптовые языки администрирования Windows 9 04-11-2013 22:04
PowerShell - [решено] Замена строк из файла строками из файла в файле bcubbs@fb Скриптовые языки администрирования Windows 6 24-01-2013 17:22
CMD/BAT - Запуск BAT файла с правами локального пользователя из сетевого BAT файла Yurii_L Скриптовые языки администрирования Windows 9 05-09-2012 14:27




 
Переход