Powershell letzt Spalte einer CSV Wurzelziehen
Hallo,
ich brauche bei folgendem Problem Hilfe.
Ich habe mehrere sehr lange CSV-Dateien, die wie folgt aufgebaut sind:
ca. 10 000 000 Zeilen
ich möchte die ersten 10 Zeilen genau so in die neue csv (.ptx?) übernehmen
ab der Zeile 10 muss ich die Wurzel aus vierten Spalte ziehen und den neuen wert dort wieder hinterlegen.
dann das in eine neue csv(.ptx) speichern
die csv dateien befinden sich all im selben Ordner und sind so benannt:
Scan - 01.ptx
Scan - 02.ptx
Scan - 03.ptx
...
Scan - 99.ptx
könnte die aber leicht umrennen
vielen dank.
Gruß Alex
ich brauche bei folgendem Problem Hilfe.
Ich habe mehrere sehr lange CSV-Dateien, die wie folgt aufgebaut sind:
5084
2083
0.000000 0.000000 0.000000
1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
0.999995 -0.003131 0.001084 0.000000
0.003132 0.999995 -0.000873 0.000000
-0.001081 0.000877 0.999999 0.000000
0.001608 -0.001204 -0.013716 1.000000
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0.000000 0.000000 0.000000 0.136721
0.000000 0.000000 0.000000 0.139422
0.000000 0.000000 0.000000 0.111330
0.000000 0.000000 0.000000 0.090822
0.000000 0.000000 0.000000 0.077638
0 0 0 0
0 0 0 0
0.000000 0.000000 0.000000 0.093843
0.000000 0.000000 0.000000 0.127382
0.000000 0.000000 0.000000 0.125933
0.000000 0.000000 0.000000 0.129091
ca. 10 000 000 Zeilen
ich möchte die ersten 10 Zeilen genau so in die neue csv (.ptx?) übernehmen
ab der Zeile 10 muss ich die Wurzel aus vierten Spalte ziehen und den neuen wert dort wieder hinterlegen.
dann das in eine neue csv(.ptx) speichern
die csv dateien befinden sich all im selben Ordner und sind so benannt:
Scan - 01.ptx
Scan - 02.ptx
Scan - 03.ptx
...
Scan - 99.ptx
könnte die aber leicht umrennen
vielen dank.
Gruß Alex
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 660611
Url: https://administrator.de/forum/powershell-letzt-spalte-einer-csv-wurzelziehen-660611.html
Ausgedruckt am: 30.04.2025 um 03:04 Uhr
7 Kommentare
Neuester Kommentar

Moin.
Danke für die Mitteilung, und was ist nun die Frage? Sollen wir hier nur deine Arbeit machen oder hast du selbst überhaupt schon Versuche unternommen? Denn ein "Problem" ist das geschilderte in dem Sinne nicht.
Bitte Codebestandteile mit entsprechenden Tags versehen! Siehe Formatierungen in den Beiträgen
Sonst kann man hier Sonderzeichen (sichtbar/unsichtbar) wie z.B. Tabs nicht erkennen!
Danke!
Gruß SK
Danke für die Mitteilung, und was ist nun die Frage? Sollen wir hier nur deine Arbeit machen oder hast du selbst überhaupt schon Versuche unternommen? Denn ein "Problem" ist das geschilderte in dem Sinne nicht.
könnte die aber leicht umrennen
Dann renne mal aber verletze dich nicht. ...Bitte Codebestandteile mit entsprechenden Tags versehen! Siehe Formatierungen in den Beiträgen
Sonst kann man hier Sonderzeichen (sichtbar/unsichtbar) wie z.B. Tabs nicht erkennen!
Danke!
Gruß SK

ich bin kein Programmierer!
Wieso hat man dir dann diese Aufgabe zugeteilt?$quelle = 'D:\data'
$ziel = 'D:\data_neu'
$skip = 10
$files = ls $quelle -File -Filter *.ptx
$cnt = 1
foreach($file in $files){
Write-Progress -Activity "Processing files" -Status "Working on file $cnt from $($files.Count) ($($file.Name))." -PercentComplete (($cnt / $files.Count) * 100)
$csv = Import-CSV $file.Fullname -Delimiter " " -Header (1..4)
for ($i = $skip ; $i -lt $csv.Count; $i++){
$csv[$i].4 = [math]::Sqrt([decimal]$csv[$i].4)
}
($csv | ConvertTo-CSV -Delimiter " " -NoType | select -skip 1) -replace '"' | sc "$ziel\$($file.Basename)_neu.ptx"
$cnt++
}
ich weiß es ist weit von dass was ich brauche1
Aua. Den Hinweis Rechtschreibung vor dem Absenden beachten hast du wohl auch überlesen.Da ist wohl erst mal eine Ladung FAQ von nöten:
Diskussionsrichtlinien - die Regeln zu unseren Inhalten
Und tschö, ich bin hiermit dann raus.
Gruß SK.