Powershell - 1 Zeichen in einer CSV Spalte entfernen
Hallo liebe Gemeinde,
wenn ja, wie wäre es mit Powershell möglich ein das 1. Zeichen in der 1. Spalte zu entfernen:
Input CSV:
Output CSV:
wenn ja, wie wäre es mit Powershell möglich ein das 1. Zeichen in der 1. Spalte zu entfernen:
Input CSV:
01234;12
02345;14
Output CSV:
1234;12
2345;14
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3939791047
Url: https://administrator.de/forum/powershell-1-zeichen-in-einer-csv-spalte-entfernen-3939791047.html
Ausgedruckt am: 17.04.2025 um 09:04 Uhr
9 Kommentare
Neuester Kommentar
Zitat von @Dani:
Moin,
mit der Funktion substring ist das möglich. Nachstehend ein simples Beispiel:
Hab leider keinen Zugriff auf einen Rechner um es mit einer echten CSV Datei zu testen. Aber das Prinzip müsste das Gleiche bleiben.
Gruß,
Dani
Moin,
mit der Funktion substring ist das möglich. Nachstehend ein simples Beispiel:
$csv = @("01234;12","02345;14")
foreach ($a in $csv) {
$a.Substring(1)
}
Gruß,
Dani
Ja das passt. grad getestet.
PS C:\Windows\system32> $csv = @("01234;12","02345;14")
foreach ($a in $csv) {
$a.Substring(1)
}
1234;12
2345;14

Wenn das eh nur in der ersten Spalte is, as simple as
Cheers
certguy
(Get-Content .\test.csv) -replace '^.' | Set-Content .\test.csv
certguy

Jepp, so isses.
Bedeutung von Regex-Ausdrücken kannst du hier nachlesen: Reguläre Ausdrücke
Bedeutung von Regex-Ausdrücken kannst du hier nachlesen: Reguläre Ausdrücke

Bitte dann auch Wie kann ich einen Beitrag als gelöst markieren? nicht vergessen.

In seinem Beispiel waren aber keine Überschriften, sonst hätte ich das natürlich anderweitig gepostet
.
Mit Überschriften dann so
oder objektorientierter
Jetzt hat der TO aber die Steilvorlage, wenns jetzt noch nicht geschnackelt hat dann weiß ich auch nicht.
Mit Überschriften dann so
$content = Get-Content -LiteralPath .\test.csv
$content,(($content | select -skip 1) -replace '^.') | Set-Content -LiteralPath .\test.csv
$csv = Import-csv -LiteralPath .\test.csv -Delimiter ";"
$csv | %{$_.'SpalteXYZ' = $_.'SpalteXYZ'.Substring(1)}
$csv | export-csv -LiteralPath .\test.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8
Jetzt hat der TO aber die Steilvorlage, wenns jetzt noch nicht geschnackelt hat dann weiß ich auch nicht.