Seite 1 von 1

sollwerte

Verfasst: Mittwoch 3. Oktober 2007, 17:11
von warch
Das ist die Datei ,in der meine sollwirte(resultBase) sind:


fn=/home/rk/rep/tools/slinksim/trunk/src/meier-hellmann/td0001.te tinj=20.0 step=0.004
#TBa Tinj *( 11.02.2005 16:08:25 - 000000000 )
# AP SVBeat *( 11.02.2005 16:08:25 - 000000000 )
#$ pat(sex="M", patid ="0", weight=80.0, height =1.75, bsa ="A")
#$ env(lr= 0.0,vr = 0.0 ,artr= 0.0 ,iv = 20.0 ,deadt = -1.0 ,deade = -1.0)
#$ measBase(m_lungresection=-1 , m_ven_resp=-1 , m_art_resp=-1 , m_injvol=-1 , m_dead_total=-1 , m_dead_ext=-1)
#
#$infoBase(m_InjStart=-1,m_InjDur=-1,m_InjLow=-1,m_BaseIntercept=-1,m_BaseSlope=-1,m_BaseMean=-1,m_Idt=-1,m_Itdt=-1,m_MTT=-1,m_MDT=-1,m_tau1=-1, $m_appearance=-1, m_SR=-1, m_Error=-1)
#
#$resultBase(m_Time=-1,m_State=-1,m_Mtt=39.6 ,m_Dst=20.8,m_Co=5,m_Ci=2.55,m_Gedv=1566 ,m_Gedi=-1,m_Itbv=1957,m_Itbi=1000,m_Gef=11, m_Cfi=3.1, m_Evlw=1343, m_Elwi=17, m_Sv=44, m_Svi=22, m_Svr=1470, m_Svri=2878, m_Pvpi=3.4)
#time[s];TB[C]; TI[C] ; CVP[mmHg]

0.000 ; 30.000 ; 15.000 ; 0.000
0.004 ; 30.000 ; 15.000 ; 0.000
0.008 ; 30.000 ; 15.000 ; 0.000
0.012 ; 30.000 ; 15.000 ; 0.000
0.016 ; 30.000 ; 15.000 ; 0.000
0.020 ; 30.000 ; 15.000 ; 0.000
0.024 ; 30.000 ; 15.000 ; 0.000

Verfasst: Mittwoch 3. Oktober 2007, 19:57
von Leonidas
Hallo warch, willkommen im Forum,

nach Analyse deines Posts bin ich zu dem Schluss gekommen dass das einzige was mir dazu spontan einfällt der Ausruf "Aha!" ist.

Vielleicht siehst du in deinem Posting Text den ich nicht sehe, aber irgendwie scheint mir das was du schriebst reichlich kontextlos zu sein.

Verfasst: Mittwoch 3. Oktober 2007, 20:04
von Andy
Leonidas hat geschrieben:Hallo warch, willkommen im Forum,

nach Analyse deines Posts bin ich zu dem Schluss gekommen dass das einzige was mir dazu spontan einfällt der Ausruf "Aha!" ist.

Vielleicht siehst du in deinem Posting Text den ich nicht sehe, aber irgendwie scheint mir das was du schriebst reichlich kontextlos zu sein.
Hallo warch, auch von mir ein willkommen!

Du musst entweder Deinen vorherigen Thread editieren (Empfohlen), oder Du antwortest Dir selber. Für beides gibt es einen Button irgendwo am/im ersten Post.

Einen neuen Thread zu öffnen ist jedenfalls nicht toll. :twisted:

Schau auch mal hier rein: http://www.python-forum.de/faq.php

Gruß Andy

Verfasst: Donnerstag 4. Oktober 2007, 09:37
von BlackJack
Falls die Frage ist, wie man an die Daten in der "resultBase"-Kommentarzeile herankommt:

1. Zeilen durchgehen bis die erste mit dem Kommentar beginnt,
2. Alles zwischen den Klammern aus der Zeichenkette an Kommata aufteilen,
3. Das Ergebnis davon dann nochmal an Gleicheitszeichen aufteilen,
4. Überflüssige Leerzeichen entfernen und den Wert in eine Fliesskommazahl umwandeln und alles in ein Dictionary stecken.

Oder als Quelltext:

Code: Alles auswählen

def read_target_value(lines):
    prefix = '#$resultBase('
    for line in lines:
        if line.startswith(prefix):
            break
    else:
        raise ValueError('result base comment not found')
    
    arguments = line[len(prefix):line.rindex(')')].split(',')
    pairs = (argument.split('=') for argument in arguments)
    return dict((key.strip(), float(value)) for key, value in pairs)


def main():
    lines = open('test.txt')
    target_value = read_target_value(lines)
    lines.close()
    print target_value