ich hoffe das ich hier richtig bin und zwar versuche ich mit py folgendes zu realisieren:
ich hab datenfiles welche aus wörten und zahlen bestehen. genauer ist oben ein kopf mit worten wo dahinter zahlen sind. das ist etwa 25 zeilen groß. dann kommen etwa 100 zeilen die nur aus spalten mit zahlen bestehen. das ganze wiederholt sich so 1 mio mal... dieses nenn ich ich folgenden events.
was ich machen will ist folgendes: ich will mit py den datei einlesen und dann eventweise durchgehen. die daten nach den strings splitten, ich dachte da an sowas wie splitte bei lehrzeichen und speichere die zahl hinter dem wort in eine variable. ausserdem will ich manche variablen auch hochzählen, also zb eine events variable die jedenmal wenn ein neues event begint incrementiert wird...
wichtig ist dass ich später mit den zahlen auch arbeiten kann, also rechnen.
ich hab sowas schonmal in perl geschrieben und hänge es auch mal an damit ihr vlt besser seht was ich meine...
währe echt cool wenn ihr mir da kurz bei helfen könnt, weil ich bin py anfänger und konnte noch nicht wirklich was brauchbares zu finden
PERL CODE:
Code: Alles auswählen
#!/usr/bin/perl
while(<>) {
@stuff=split(' '); #hier zerlege ich alles nach lehrzeichen
if(/NAME/){ #suche nach dem string name
}
elsif(/projectile:/){ #suche weiter nach projectile:
$protar=$_ # speichere den wert nach projectile: ab in $protar
}
elsif(/equation_of_state:/){
$ecm=$stuff[5];
$midy=log($ecm/0.938);
$elab=$stuff[3];
$plab=$stuff[7];
}
elsif(/event#/){
$noe++; # numbers of events: noe
}
elsif(/pott:/){
$vspot=$stuff[1]
}
else{
if($#stuff==14){ #hier wird geprüft ob die folgende tabelle aus 14 spalten besteht
@x=@stuff[0..3];
@p=@stuff[4..7];
@id=@stuff[8..11];
$mass=$id[0];
$ityp=$id[1];
$iz2=$id[2];
$charge=$id[3];
# ab hier steht folgende info zur verfuegung:
# stuff[0] = r_0 = $x[0]
# stuff[1] = r_x = $x[1]
# stuff[2] = r_y .
# stuff[3] = r_z .
# stuff[4] = p_0 = $p[0]
# stuff[5] = p_x = $p[1]
# stuff[6] = p_y .
# stuff[7] = p_z .
# stuff[8] = mass = $id[0]
# stuff[9] = ityp = $id[1]
# stuff[10]= iz2 = $id[2]
# stuff[11]= charge = $id[3]