Importowanie danych z CSV do PowerShell-a

0

Witam

Czy jest możliwość zaimportowania danych z 2 rożnych kolumn, z 1 pliku .CSV?
Potrzebuje napisać skrypt który zaciąga z jednej kolumny e-mail address ( do którego chce nadać access ), a z drugiej e-mail address użytkownika który dostanie access. Co muszę zrobić żeby stworzyć zmienne, które zaciągną dane z rożnych kolumn.

Pozdrawiam

1

To banał. "emails.csv" to nazwa pliku. "EmailColumn" to nazwa kolumny w pliku CSV. "give_access" to polecenie które chcesz wykonać.

$lines = import-csv “c:emails.csv”
ForEach ($line in $lines){
  $email = $($line.EmailColumn)
  give_access $email
}
0

Hej Haskell

Dziękuję za szybka odpowiedz :) Mam pytanko co do działania

$lines = import-csv “c:emails.csv” \\tutaj zassysamy cala CSV ( czy tutaj zmiena nie powina sie nazywa $line?
ForEach ($line in $line) \\kompletnie nie rozumiem co tu zrobiles - tzn rozumiem komende foreach ale ($line in $line) jest dla mnie kompletnie obce
{
  $email = $($line.EmailColumn) \\Tworzymy zmiana email z informacji z kolumny z csv
  give_access $email
}

Dziękuje z gory za odpowiedz :)

0

Literówkę zrobiłem powinno być $line in $lines. Czyli najpierw wczytujesz cały csv do $lines, a następnie pętlą foreach wczytujesz linia po linii do $line.

0

Hej moja CSV wyglada tak:

email               email2
address1        address1a
address2        address2a

Mam skrypt

$addressy = Import-Csv "C:\Temp\template.csv"
foreach ($mail in $addressy)
{
$email = $($mail.email)
komenda $email
}

Jesli wywale kolumne email2 - wszystko dziala. Jesli zostawie dostaje błąd. "Cannot bind argument to parameter 'Identity' because it is null."
Czy musze Od razu wszysko wykorzystwac co jest w CSV?

0

Podejrzewam, że chodzi o delimiter :) Jeżeli w pliku CSV kolumny oddzielasz średnikiem to ustaw jako delimiter ten znak.

$addressy = Import-Csv "C:\Temp\template.csv" -delimiter ";"
foreach ($mail in $addressy)
{
  $email = $($mail.email)
  Write-Host $email
}

P.S. Jeżeli używasz spacji, to możesz ustawić spacje, ale od razu ostrzegam, że to zły pomysł, bo gdy będziesz chciał np. odczytać imię i nazwisko rozdzielone spacją to nie będzie wiadomo gdzie się kończy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1