PowerShell - Import-CSV Where Object
Hallo zusammen,
ich versuche gerade beim Import über ein Where Object die Daten zu filten, die ich haben möchte. Dafür lese ich am Anfang des Skripts eine CSV datei mit einer Spalte wo Namen drin stehen.
Nun habe ich nach vielen Probieren, das Problem, das egal was ich als Filter nehme er die Daten nicht zieht. Google hat mir leider bis jetzt auch noch kein lösendes Ergebnis liefern können.
wo liegt das Problemchen?
kurzer Nachtrag: Pfadtext1 ist eine csv Datei mit ca. 3000 Einträgen, wovon ich allerdings nur einen geringen Anteil brauche. In dieser Datei gibts dann die Spalte "ZAHLUNGSEMPFAENGER"
Vielen Dank für eure Zeit.
ich versuche gerade beim Import über ein Where Object die Daten zu filten, die ich haben möchte. Dafür lese ich am Anfang des Skripts eine CSV datei mit einer Spalte wo Namen drin stehen.
Nun habe ich nach vielen Probieren, das Problem, das egal was ich als Filter nehme er die Daten nicht zieht. Google hat mir leider bis jetzt auch noch kein lösendes Ergebnis liefern können.
$ZE = import-csv "H:\Entwicklung\Zahllaufkalender\Zahllaufkalender\Zahllaufkalender\bin\Debug\Config\Zahlungsempfaenger.csv" -delimiter ";"
$datasets = $(import-csv $PfadText1 -delimiter ";" | Where-Object { $_."ZAHLUNGSEMPFAENGER" -in $ZE })
foreach($dataset in $datasets)
{
$dataset | export-csv -path "$TempPath$($dataset.'ZAHLUNGSEMPFAENGER').csv" -Append -Delimiter ";" -Encoding UTF8 -NoTypeInformation -Force
}
wo liegt das Problemchen?
kurzer Nachtrag: Pfadtext1 ist eine csv Datei mit ca. 3000 Einträgen, wovon ich allerdings nur einen geringen Anteil brauche. In dieser Datei gibts dann die Spalte "ZAHLUNGSEMPFAENGER"
Vielen Dank für eure Zeit.
Please also mark the comments that contributed to the solution of the article
Content-Key: 553684
Url: https://administrator.de/contentid/553684
Printed on: April 24, 2024 at 00:04 o'clock
3 Comments
Latest comment
Where-Object { $_."ZAHLUNGSEMPFAENGER" -in $ZE }
Hier fehlt die Angabe der Spalteneigenschaft im Object $ZE, sonst vergleicht er ja das ganze Object anstatt nur den Inhalt einer Spalte.Also bspw.
Where-Object { $_."ZAHLUNGSEMPFAENGER" -in $ZE.Zahlungsempfaenger }
Zitat von @Pat.bat:
hatte angenommen, weil ich keine Kopfzeile habe und nur diese eine Spalte, das er sich das dann aus der ersten zieht.
Wenn keine Überschrift angegeben ist und du nicht mit dem Parameter -Header beim Import-CSV CMDLet eine vorgibst wird automatisch die erste Zeile als Name der Spalte genommen, nur noch mal als Hinweis!hatte angenommen, weil ich keine Kopfzeile habe und nur diese eine Spalte, das er sich das dann aus der ersten zieht.
Wenn deine Datei also keine Überschrift hat und du trotzdem die Spalte benennen willst gebe den Namen der Spalte im Parameter -Header an, so kann man sich auch eine Überschrift in der Datei sparen wenn man möchte/will/muss.