dergringo73
Goto Top

CSV Datei komplett umdrehen

Kann mir jemand sagen wie ich am einfachsten eine komplette csv Datei umdrehen kann?? Die aktuell letzte Zeile soll also die erste Zeile sein usw.

Beispiel:
Inhalt 1
Inhalt 2
Inhalt 3
Inhalt 4

Neu:
Inhalt 4
Inhalt 3
Inhalt 2
Inhalt 1

Die CSV hat leider immer unterschiedlich viele Zeilen.

Content-ID: 1502616992

Url: https://administrator.de/forum/csv-datei-komplett-umdrehen-1502616992.html

Ausgedruckt am: 11.04.2025 um 13:04 Uhr

149569
Lösung 149569 13.11.2021 aktualisiert um 16:08:44 Uhr
Goto Top
Powershell
https://tio.run/##K8gvTy0qzkjNyfn/PzqxqCixMlYlUcFWwUGdyyWxpDTX2jc1Lz2Vy9 ...
[array]$csv = Import-Csv "d:\datei.csv" -delimiter ";"  
[array]::Reverse($csv)
$csv | Export-CSV "d:\datei_neu.csv" -delimiter ";" -NoType -Encoding UTF8  

Wenn's da natürlich eine Spalte gibt mit der sich passend sortieren lässt, geht's natürlich auch mittels sort-object
em-pie
em-pie 13.11.2021 aktualisiert um 16:06:36 Uhr
Goto Top
Moin,

ginge Beispielsweise so:

CSV-Datei myFile.csv
13;Max;Müller;NRW
09;Lisa;Fuchs;BY
87;Lena;Schlau;MV
15;Karl;Doof;RPL

Script (Powershell)
$content = Get-Content 'C:\Tmp\myFile.csv'  
[array]::Reverse($content)
$content | Out-File -FilePath 'C:\_Tmp\myFile_Reverse.csv' -Append  

Ergebnis myFile_Reverse.csv
15;Karl;Doof;RPL
87;Lena;Schlau;MV
09;Lisa;Fuchs;BY
13;Max;Müller;NRW

Umlaute "zicken" noch herum, obwohl Quelle und Ziel im UTF-8 sind...
Das müsstest du mal weiter eruieren.

Vermutlich kennen die Hardcore-Powersheller hier aber noch andere Methoden face-smile


€dit:
Natürlich. Import-CSV und Export-CSV sind die bessere Wahl. Danke @149569

Gruß
em-pie
dergringo73
dergringo73 13.11.2021 um 16:44:47 Uhr
Goto Top
Ich danke euch beiden für die Hilfe es klappt super. mit dem Ansatz über get-Content ist die CSV im Anschluss deutlich größer. Mit
[array]$csv = Import-Csv "d:\datei.csv" -delimiter ";"  
[array]::Reverse($csv)
$csv | Export-CSV "d:\datei_neu.csv" -delimiter ";" -NoType -Encoding UTF8  
klappt es perfekt