Fragensteller
CSV - den Inhalt zweier spalten zusammenführen

Allgemeine Diskussion
-
Hallo zusammen,
ich habe folgendes Problem bzw Aufgabenstellung...
Ein CSV export mit Kontaktdaten von Sipgate (die ganz viele Spalten hat), muss für meine VoIP software anders formatiert werden...
Folgender Header der Source Datei:
Vorname;Weitere Vornamen;Nachname;Anrede;Suffix;Initialen;Webseite;Geschlecht;Geburtstag;Jahrestag;Ort;Sprache;Internet Frei/Gebucht;Notizen;E-Mail-Adresse;...
Das Zielformat soll dann so ausschauen:
"Haupttelefon","Name","Firma"
Folgenden output bekomme ich ohne Powershell kenntnisse selber hin:
Import-Csv -Delimiter ";" .\Downloads\sipgate_contacts_all.csv | select Haupttelefon,Vorname, Nachname, Firma
Output: CSV mit folgenden Spalten:
"Haupttelefon","Vorname","Nachname","Firma"
Jetzt das schwierige (ich denke mit powershell kenntnissen nicht wirklich schwer...)
Vorname und Nachname muss in eine Spalte / ein Feld zusammengefasst werden (in der source datei sind es halt leider zwei spalten...)
VG,
Tommy
- Bearbeitet Tml_ Montag, 14. Januar 2019 13:37
Alle Antworten
-
Hallo Tommy,
das ist eigentlich ganz einfach. Hier ist dein Import-Befehl, ich speichere in einer Variablen
$Daten = Import-Csv -Delimiter ";" .\Downloads\sipgate_contacts_all.csv | select Haupttelefon,Vorname, Nachname, Firma
Jetzt fügst du eine neue Spalte an, wofür es mehrere Möglichkeiten gibt. Ich nehme:
$Daten = $Daten | select *,Name
Jetzt befüllst du das neue Feld:
foreach($d in $Daten){ $d.Name = $d.Vorname, $d.Nachname -join " " }
Danach die Ausgabe wie bisher, du musst nur das neue Namensfeld mit ausgeben.
Viele Grüße
Christoph