CSV anpassen aufgrund Spaltenformat
Hallo, ich würde mal wieder Euer Schwarmwissen benötigen.
Ich habe eine CSV mit folgenden Inhalt:
Jetzt würde ich gerne im Output anhand der 2. Spalte die Straße und die Hausnummer trennen:
Ist sowas mit Batch oder Powershell möglich?
Beste Grüße!
Ich habe eine CSV mit folgenden Inhalt:
Max;Muster;Musterstraße 2;Musterhausen;
Erika;Musterfrau;123 A-F Musterweg;Musterhausen;
Jetzt würde ich gerne im Output anhand der 2. Spalte die Straße und die Hausnummer trennen:
Max;Muster;Musterstraße;2;Musterhausen;
Erika;Musterfrau;Musterweg;123 A-F;Musterhausen;
Ist sowas mit Batch oder Powershell möglich?
Beste Grüße!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 666999
Url: https://administrator.de/forum/csv-anpassen-aufgrund-spaltenformat-666999.html
Ausgedruckt am: 19.02.2025 um 21:02 Uhr
3 Kommentare
Neuester Kommentar
![148121](/images/members/profile_male_48x48.png)
![148121](/images/members/profile_male_48x48.png)
Importiere CSV Datei mit definierten Headern (CSV Datei fehlen die Überschriften)
$csv = ipcsv test.csv -delimiter ';' -header 'Vorname','Nachname','Straße','Ort'
Füge dem CSV Object eine weitere Property (Spalte 'Hausnummer') hinzu$csv | Add-Member -Membertype Noteproperty -Name 'Hausnummer' -Value ''
Für jede Zeile der CSV führe folgende Schritte innerhalb der geschweiften Klammer (Foreach-Object) durch$csv | %{
Führe einen Regular Expression Match auf die Straße aus, welcher Hausnummer und Straße in Submatches aufteilt if ($_.Straße -match '((?<hnr>\d+([a-z]| [a-z]-[a-z]))(?<str>.*))|(?<str>[^\d]+)(?<hnr>.*)'){
Wenn Match erfolgreich setze den Inhalt der Spalten auf die Regex Submatches für Hausnummer und Straße ($matches ist eine Vordefinierte Powershell Variable die immer deie Ergebnisse des letzten durchgeführten Regex Match via -match enthält) $_.Straße = $matches['str'].trim()
$_.Hausnummer = $matches['hnr'].trim()
}
}
Exportiere das modifizierte CSV Objekt wieder in eine neue CSV Datei$_.Hausnummer = $matches['hnr'].trim()
}
}
$csv | select Vorname,Nachname,Straße,Hausnummer,Ort | epcsv test_neu.csv -delimiter ';' -NoType -Encoding UTF8