Войти

Показать полную графическую версию : [решено] Поиск в csv файле


Страниц : 1 [2]

JimmLight
15-04-2021, 12:31
А можно ли как-то реализовать поиск в csv следующим образом: если значение "Слесарь-монтажник" имеется в csv, то копируем всю строку с этим значением в новый csv файл.

JimmLight
16-04-2021, 06:20
А можно ли как-то реализовать поиск в csv следующим образом: если значение "Слесарь-монтажник" имеется в csv, то копируем всю строку с этим значением в новый csv файл. »
Попробовал таким образом:
$Files = "C:\исходный файл.csv"
Get-Content $Files | Select-String "значение поиска" | Export-Csv "C:\Конечный файл.csv" -Encoding UTF8 -Delimiter ";"
Добавляется много непонятных значений столбцов:
"IgnoreCase";"LineNumber";"Line";"Filename";"Path";"Pattern";"Context";"Matches"

DJ Mogarych
16-04-2021, 09:03
JimmLight, CSV - это структурированный файл, и работать с ним как с обычным текстовым неверно.
Как называется колонка, в которой находится "слесарь-монтажник"?

JimmLight
16-04-2021, 09:55
JimmLight, CSV - это структурированный файл, и работать с ним как с обычным текстовым неверно.
Как называется колонка, в которой находится "слесарь-монтажник"? »
"слесарь монтажник" может быть в нескольких колонках: или "Колонка1" или "Колонка2" или "Колонка4" или "Колонка6".

DJ Mogarych
16-04-2021, 10:04
(Import-Csv "C:\исходный файл.csv") -match "слесарь-монтажник"

В зависимости от разделителя, может понадобиться добавить опцию -Delimiter

JimmLight
16-04-2021, 10:23
В зависимости от разделителя, может понадобиться добавить опцию -Delimiter »
(Import-Csv "C:\исходный файл.csv" -Encoding UTF8 -Delimiter ";") -match "слесарь-монтажник" | Export-Csv "C:\конечный файл.csv" -Encoding UTF8 -Delimiter ";"
Если я правильно понимаю, то должно быть так?
Почему то пустой "C:\конечный файл.csv" создаётся.

DJ Mogarych
16-04-2021, 10:24
Вы сначала без экспорта отладьте, чтобы нормально запускалось и выводило нужное.
Рекомендую Powershell ISE.

Foreigner
16-04-2021, 16:28
Почему то пустой "C:\конечный файл.csv" создаётся. »


Import-Csv .\1.csv -Delimiter ";" |
Foreach-Object {

if ($_.psobject.properties.value -eq 'слесарь-механик')
{ Export-Csv -InputObject $_ 2.csv -Append; continue }
}


Encoding добавите, если необходимо.




© OSzone.net 2001-2012