Daten von zwei verschiedenen CSV Dateien in eine neue csv datei speichern
Hallo ZUsammen,
ich habe eine Frage und zwar muss ich zwei csv Dateien in POwerShell importieren und diverse Spalten selektieren und die Spalten die ich dann benötige in eine neue CSV lesen.
$import_person = Import-Csv 'C:\Temp\data.csv' -Delimiter ',' -Encoding UTF8
$Import_schule = import-Csv 'C:\Temp\schule.csv' -Delimiter ',' -Encoding UTF8
#selektiere die Tabellen die ich brauche
$person= $import_person | Select-Object per_vorname,per_nachname,per_geburtsdatum,betr_tel_nr |
$person= $import_person| Select-Object person_id
Aus diesen zwei muss ich nun die ausgewählten Spalten in eine neue CSV speichern, wie kann ich das machen?
Vielen Dank für eure Hilfe.
ich habe eine Frage und zwar muss ich zwei csv Dateien in POwerShell importieren und diverse Spalten selektieren und die Spalten die ich dann benötige in eine neue CSV lesen.
$import_person = Import-Csv 'C:\Temp\data.csv' -Delimiter ',' -Encoding UTF8
$Import_schule = import-Csv 'C:\Temp\schule.csv' -Delimiter ',' -Encoding UTF8
#selektiere die Tabellen die ich brauche
$person= $import_person | Select-Object per_vorname,per_nachname,per_geburtsdatum,betr_tel_nr |
$person= $import_person| Select-Object person_id
Aus diesen zwei muss ich nun die ausgewählten Spalten in eine neue CSV speichern, wie kann ich das machen?
Vielen Dank für eure Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 562645
Url: https://administrator.de/contentid/562645
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
4 Kommentare
Neuester Kommentar
$person= $import_person | Select-Object per_vorname,per_nachname,per_geburtsdatum,betr_tel_nr |
$person= $import_person| Select-Object person_id
Verständnisproblem:
Warum überschreibt du das was du in Zeile 1 machst gleich nochmal in Zeile 2 ohne irgendwas dazwischen mit dem Ergebnis gemacht zu haben?
Und wo genau ist der Teil in dem du was mit der zweiten CSV anstellst? Vom Einlesen mal abgesehen.
Manuel
Moin,
Da du uns nicht verraten hast, welche Spalten aus welcher CSV übernommen werden sollen, musst du das Ganze natürlich ggfs. entsprechend anpassen.
Gruß Thomas
Zitat von @ITnerd02:
danach will ich mit select object die richtigen spalten auswählen die ich brauche.
dafür musst du Zeile für Zeile ein neues Objekt mit den entsprechenden Spalten und ihren Werten erstellen.danach will ich mit select object die richtigen spalten auswählen die ich brauche.
Da du uns nicht verraten hast, welche Spalten aus welcher CSV übernommen werden sollen, musst du das Ganze natürlich ggfs. entsprechend anpassen.
$import_person = Import-Csv 'C:\Temp\data.csv' -Delimiter ',' -Encoding UTF8
$Import_schule = import-Csv 'C:\Temp\schule.csv' -Delimiter ',' -Encoding UTF8
# Maximale Zeilenanzahl ermitteln
$MaxLines = ($import_person.Count,$Import_schule.Count|Measure -Max).Maximum
# Neues Object erzeugen
$NeueCSV=For ($i=0 ; $i -lt $MaxLines ; $i++ ) {
New-Object PsObject -Property @{
person_id = $import_schule[$i].person_id
per_vorname = $import_person[$i].per_vorname
per_nachname = $import_person[$i].per_nachname
per_geburtsdatum = $import_person[$i].per_geburtsdatum
betr_tel_nr = $import_person[$i].betr_tel_nr
}
}
$NeueCSV | select person_id,per_vorname,per_nachname,per_geburtsdatum,betr_tel_nr | Export-Csv -Delimiter ',' -Encoding UTF8 -NoTypeInformation 'C:\Temp\Neu.csv'
Gruß Thomas