Witam,
Proszę o pomoc przy budowie konwertera plików, konwerter pobiera (czyta linijka po linijce) dane z pliku. Dane w pliku są z reguły w czterech kolumnach jednakże zdarza się także że brak jest danych w kolumnie:
182 -21.21320343 0.000 -21.21320343
183 -27.71638680 0.000 -11.48050308
184 -30.00000000
185 -27.71638680 0.000 11.48050308
186 0.000 0.000
187 0.000 0.000 -30.00000000
188 -25.90019989 -10.70466328 -10.70466328
Następnie dane są zapisywanie w formacie:
*NODE
1,2,3,4
Proszę o pomoc jak poprawić ten kod aby w przypadku braku danych w kolumnie wejściowej program przypisywał zawsze 0.
Obecnie zakończenie czytania linii jest wystąpienie słowa "$EndNodes" jak mogę poprawić aby nastąpiło zakończenie czytania jak wystąpi tylko początek np. "$" (występują różne kombinacje np. $EndNodes. $EndElement ...)?
#----read and write until '$EndNodes----------------------
ss=""
while True:
s=fi.readline()
s1=s.strip() #chomp
if (s1 == "$EndNodes" ):
break
s2=s1.split() #split with space
fo.write("%d,%10e,%10e,%10e\n" % (int(s2[0]) , float(s2[1]) , float(s2[2]) , float(s2[3])))
Pozdrawiam