Probleme mit einer CSV Datei

S

Sturmi12

Mitglied
Thread Starter
Dabei seit
25.03.2011
Beiträge
67
Reaktionspunkte
10
Hallo zusammen,

ich hab ein kleines Problem mit einer CSV Datei.

Momentan liegen die Daten so vor:

>Name1
x1
y1
z1
>Name2
x1
y1
z1

Ich bräuchte die Daten aber folgendermaßen

Name1 x1 y1 z1
Name2 x2 y2 z2

Also ich müsste die Zeilen als Spalten neben den Namen bekommen.

Problem ist nur das das ganze natürlich 16000 Zeilen hat, also fällt von Hand machen flach. Gibt es eine einfache Möglichkeit um das zu bewerkstelligen?

Die Namen sehen immer wie folgt aus ">Z0001" bis ">Z9999"
Die Daten fangen immer mit "Sort..." an.
 
Ja, ist wenigen Minuten problemlos mit AppleScript gelöst.
Du müsstest eine Beispieldatei zur Verfügung stellen, so dass man etwas konkret sagen kann.

Viele Grüße
 
Hi, ja das kann ich tun.

>Z0001
"SortR21-4Genome.bam",107,112,112,112,112,109,109,70,70,71,72,72,72,70,67,68,69,67,95,93,93,80,82,82,82,84,84,85,82,82,82,83,85,83,84,84,79,80,78,78,80,80,80,78,78,69,69,59,59,54,54,54,59,59,59,59,59,58,59,59,59,59,59,58,57,57,28,24,24,24,22,22,22,20,20,19,17,17,17,16,14,14,11,11
"SortR26-1Genome.bam",100,100,100,100,100,101,102,65,64,59,60,60,60,60,62,61,60,60,64,60,59,58,61,61,60,60,60,60,56,53,53,52,52,51,50,50,40,37,37,37,37,37,37,37,37,28,28,18,18,18,18,18,18,17,16,16,16,16,14,14,16,16,14,14,14,14,10,10,10,10,7,7,7,7,7,7,7,7,7,6,6,6,6,6
"SortR30-7Genome.bam",11,11,11,11,11,11,11,6,6,6,6,6,6,6,6,6,5,5,8,8,8,8,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,7,7,7,7,7,5,5,4,4,4,4,4,4,4,6,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3
"SortR32-4Genome.bam",1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
"SortR33-6Genome.bam",15,15,15,15,15,15,15,9,6,6,6,6,5,5,5,7,8,8,8,10,10,9,10,10,10,12,12,12,14,14,14,16,16,16,16,15,15,15,14,14,14,14,14,14,14,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,9,9,9,7,7,8,7,7,7,5,5,5,3,3,3,1,1,1,1,1
"SortR37-2Genome.bam",39,39,39,39,39,39,39,29,27,27,27,27,27,27,27,27,26,26,40,42,42,40,47,47,47,47,47,47,47,47,47,50,50,50,50,50,49,49,48,48,47,47,47,43,43,33,33,30,30,30,30,30,38,38,38,38,38,38,38,38,38,38,38,38,38,38,24,22,22,22,12,12,12,12,12,12,11,11,11,8,8,8,8,8

Wie ich die Daten nun gerne hätte wäre

Z0001,"SortR21-4Genome.bam","107,112,112,112,112...."
Z0001,"SortR26-1Genome.bam","100,100,100,....."

Es müsste also jeweils das "Sort..." in eine Spalte gepackt werden, und die Zahlenreihe dahinter auch (und wenn es gehen würde noch "" um die Zahlenreihe)
 
Schnell und dreckig, wie man so schön sagt…

Bitte wie folgt vorgehen:

- Programme > Dienstprogramme > AppleScript Editor öffnen
- untenstehendes Skript hineinkopieren
- Run bzw. Ausführen klicken
- Skript fordert zur Auswahl der Datei auf > besagte Textdatei auswählen
- Ergebnis liegt dann auf Deinem Schreibtisch > "Sturmi12.txt"

Viele Grüße

Code:
tell me to set currentFile to choose file

set fileContent to read currentFile
set allLines to paragraphs in fileContent

set currentPrefix to ""
set newLines to ""

repeat with nLine in allLines
	
	if nLine begins with ">" then
		
		set currentPrefix to nLine
		
	else
		
		set AppleScript's text item delimiters to "\","
		set lineParts to every text item of nLine
		set AppleScript's text item delimiters to "\",\""
		set currentNewLine to (lineParts as text)
		set AppleScript's text item delimiters to ""
		set currentNewLine to "\"" & currentPrefix & "\"," & currentNewLine & "\""
		
		set newLines to newLines & currentNewLine & return
		
	end if
	
end repeat

set ouputPath to ((path to desktop folder) as text) & "Sturmi12.txt"

try
	set aliasOuputPath to alias ouputPath
	tell application "Finder" to move aliasOuputPath to trash
end try

do shell script "echo " & quoted form of newLines & " >> " & quoted form of (POSIX path of ouputPath)
 
Ich weiss noch nicht ob es funktioniert, ich hab es mal durchlaufen lassen was auch funktioniert hat.

Angezeigt wird dann in AppleScript "Macintosh HD:Users:sturmi12: Desktop:Sturmi12.txt"

Aber ich sehe keine Datei auf meinem Desktop.

EDIT: Gott ich sollte natürlich das ganze AppleScript kopieren, manchmal kennt Dummheit doch keine Grenzen >.<
 
Hehe… das lag wohl daran, dass Lion die Scrollbalken ausblendet und der Teil im Code-Block vollständig aussah.

Viele Grüße
 
Okay läuft anscheinend nicht komplett durch

error "The command exited with a non-zero status." number 255

Weisst du woran das liegen könnte?
 
Code:
tell me to set currentFile to choose file

set fileContent to read currentFile
set allLines to paragraphs in fileContent

set currentPrefix to ""
set newLines to ""

repeat with nLine in allLines
	
	if nLine begins with ">" then
		
		set currentPrefix to nLine
		
	else
		
		set AppleScript's text item delimiters to "\","
		set lineParts to every text item of nLine
		set AppleScript's text item delimiters to "\",\""
		set currentNewLine to (lineParts as text)
		set AppleScript's text item delimiters to ""
		set currentNewLine to "\"" & currentPrefix & "\"," & currentNewLine & "\""
		
		set newLines to newLines & currentNewLine & return
		
	end if
	
end repeat

return newLines

Klappt das?

Im Ausgabefenster hast Du dann alle neuen Zeilen.
Du kannst den Inhalt einfach zu einer Textdatei kopieren und dann die \" zu " ersetzen.

Wenn es nicht funktioniert, dann lade doch bitte mal die Textdatei hoch, so dass man das konkret nachvollziehen kann.

Viele Grüße
 
Zurück
Oben Unten