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

Показать сообщение отдельно

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


Сообщения: 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