instinctless
Goto Top

Regex Foo Textdatei manulieren

Hallo Leute,
ich habe eine Text/csv Datei welche ich manipulieren möchte.

Ausgangssitutuation:
AK026_P2_t6_R2,,
AK027_P2_t6_W1,,
AK028_P2_t6_W2,,
AK029_P2_t6_S1,,
AK030_P2_t6_S2,,

soll zu
Sample_AK026_P2_t6_R2,AK026_P2_t6_R2,
Sample_AK027_P2_t6_W1,AK027_P2_t6_W1,
Sample_AK028_P2_t6_W2,AK028_P2_t6_W2,
Sample_AK029_P2_t6_S1,AK029_P2_t6_S1,
Sample_AK030_P2_t6_S2,AK030_P2_t6_S2,
geändert werden.

Wie stelle ich das an?

Content-ID: 3409984757

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

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

Gentooist
Gentooist 22.07.2022 um 10:41:38 Uhr
Goto Top
Z.B. mit Pandas von Python; Dataframe manipulieren.
colinardo
Lösung colinardo 22.07.2022 aktualisiert um 11:05:48 Uhr
Goto Top
Servus.
mit Linux auf der Shell mit (g)awk
awk -F "," '{print "Sample_"$1","$1","}' test.csv >test_neu.csv  
oder auch mit sed
 sed -re 's/(^[^,]+).*/Sample_\1,\1,/' test.csv >test_neu.csv  
Powershell z.B.
$file = 'D:\test.csv'
(Get-Content $file) -replace '([^,]+).*','Sample_$1,$1,' | Set-Content $file
oder für die "objektorientierten" Regex unerfahrenen Nutzer
$file = 'D:\test.csv'  
(Import-CSV $file -Delimiter "," -Header (1..3) | %{  
    $_.2 = $_.1
    $_.1 = "Sample_$($_.1)"  
    $_
} | convertto-CSV -Delimiter "," -NoType | select -Skip 1) -replace '"' | Set-Content $file  
usw. dafür gibt es 1001 Möglichkeiten ...

Grüße Uwe
instinctless
instinctless 22.07.2022 um 12:51:41 Uhr
Goto Top
Vielen Dank Uwe