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

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

Ответить
Настройки темы
PowerShell - [решено] Поиск в csv файле

Аватара для ejik_off

Старожил


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

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


Здравствуйте, гуру PS!!!
Есть файл тхт в нем содержатся логины:
ppetrov
iivanov
ssidorov
...
и есть csv файл в формате samaccountname,count
samaccountname,count
ppetrov,1
iivanov,1
ssidorov,2
нужно сделать поиск, т.е логины из тхт файла сравнить с логинами из csv-файла если логин найден, то поле count увеличить на 1, если не найдено то добавить в конец файла в поле samaccountname: логин и в count: 1
Код: Выделить весь код
$txt = get-content c:\tmp\usr.txt
$csv = import-csv c:\tmp\usr_list.csv -Delimiter ","


foreach($user_txt in $txt) {
    foreach($user_csv in $csv){
        if($user_txt -eq $user_csv.samaccountname) {
            как изменить колонку count?
        }
        else {$user_txt,1 | out-file c:\tmp\usr_list.csv -Append - тоже не знаю как правильно вставить}
    }
}

Отправлено: 17:12, 23-12-2019

 

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


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

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


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

Отправлено: 12:31, 15-04-2021 | #21



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

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


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


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

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


Цитата JimmLight:
А можно ли как-то реализовать поиск в 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"

Отправлено: 06:20, 16-04-2021 | #22


Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


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

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:03, 16-04-2021 | #23


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


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

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


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

Отправлено: 09:55, 16-04-2021 | #24


Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


Код: Выделить весь код
(Import-Csv "C:\исходный файл.csv") -match "слесарь-монтажник"
В зависимости от разделителя, может понадобиться добавить опцию -Delimiter

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 10:04, 16-04-2021 | #25


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


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

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


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

Отправлено: 10:23, 16-04-2021 | #26


Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


Вы сначала без экспорта отладьте, чтобы нормально запускалось и выводило нужное.
Рекомендую Powershell ISE.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:24, 16-04-2021 | #27


Ветеран


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

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


Цитата JimmLight:
Почему то пустой "C:\конечный файл.csv" создаётся. »
Код: Выделить весь код
Import-Csv .\1.csv -Delimiter ";" |
Foreach-Object {                   
                                                          
     if ($_.psobject.properties.value -eq 'слесарь-механик')
     {  Export-Csv -InputObject $_ 2.csv -Append; continue }                                                      
}
Encoding добавите, если необходимо.

Отправлено: 16:28, 16-04-2021 | #28



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - поиск по части IP адреса в CSV файле God-of-Chaos Скриптовые языки администрирования Windows 3 06-11-2017 10:45
PowerShell - [решено] Переименование дублей в csv файле YURETZS Скриптовые языки администрирования Windows 3 20-10-2017 11:42
CMD/BAT - Поиск цифр в текстовом файле и последующий их поиск в названии файлов массива (лог.) antares_80@vk Скриптовые языки администрирования Windows 10 25-10-2015 11:34
PowerShell - [решено] Поиск и вставка информации из одного csv-файла в другой IvanXXL Скриптовые языки администрирования Windows 1 20-07-2011 12:48
PowerShell - [решено] Поиск и удаление дублей в csv-файле IvanXXL Скриптовые языки администрирования Windows 4 19-07-2011 13:14




 
Переход