alexirimie
Goto Top

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:
 
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

Content-Key: 660611

Url: https://administrator.de/contentid/660611

Printed on: April 16, 2024 at 12:04 o'clock

Mitglied: 147669
147669 Mar 09, 2021 updated at 11:14:18 (UTC)
Goto Top
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.
könnte die aber leicht umrennen
Dann renne mal aber verletze dich nicht. ...

Bitte Codebestandteile mit entsprechenden Tags versehen! Siehe Formatting instructions in the posts
Sonst kann man hier Sonderzeichen (sichtbar/unsichtbar) wie z.B. Tabs nicht erkennen!

Danke!

Gruß SK
Member: alexirimie
alexirimie Mar 09, 2021 at 11:28:52 (UTC)
Goto Top
hi,

ich bin kein Programmierer!
danke für den "
 "  tipp schaut besser aus :-)  

ich habe bis jetzt dass:
 
CsvInpurt = Import-CSV 1.csv -Delimiter " " -Header a,b,c,d  
Foreach ($d in $csv.d){
$newValue = $d + 10
}
$newValue | export-csv -Delimiter " " -Path Test.csv -NoTypeInformation  


ich weiß es ist weit von dass was ich brauche1

Gruß Alex
Mitglied: 147669
Solution 147669 Mar 09, 2021 updated at 12:09:34 (UTC)
Goto Top
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:
Discussion guidelines - The rules for our content

Und tschö, ich bin hiermit dann raus.

Gruß SK.
Member: alexirimie
alexirimie Mar 09, 2021 updated at 13:05:18 (UTC)
Goto Top
hallo SchmitzKatz,

super dass klappt mit meiner kleine Demodatei .... danke danke danke
bei der großen Datei mit ca. 10 000 000 Zeilen dauert es, mal sehn wie lang....
ist es irgend wie möglich zu wissen wie weit er ist?

Gruß Alex
Member: alexirimie
alexirimie Mar 09, 2021 updated at 12:36:09 (UTC)
Goto Top
hallo,

habe 100 000 Zeilen reingeladen und braucht 90 sec.

meine Dateien haben aber alle über 10 000 000 Zeilen und hab ca. 40 davon.
brauch ca. 3h für eine Datei?!

das ist einte Point Cloud von einem 3d Scanner
der wert stecht für die Intensität des jeweilige Punktest in der Point Cloud . (0-1)
und ich brauch sie heller.
Member: alexirimie
alexirimie Mar 09, 2021 at 13:19:37 (UTC)
Goto Top
hallo SchmitzKatz,

ich entschuldige mich für dir Rechtschreibung, ich bin behindert (spastik an den Händen beziehungsweise ich kann nur mit eine Hand Tippen) dazu kommt noch eine Legasthenie.

SchmitzKatz ich entschulde mich wirklich für meine Rechtschreibung.

ist es möglich den code schneller zu machen?

Gruß Alex
Member: alexirimie
alexirimie Mar 09, 2021 at 13:45:48 (UTC)
Goto Top
hallo,

soweit ist gesehen habe arbeitet das Script nut mit einem thread von insgesamt 64!
ist es möglich das Script auf multi threading zu Optimieren?

oder ist da noch ein weg es schneller zumachen?

bitte um Hilfe.....

Gruß Alex