Konvertieren mehrer Dateien aus einem Ordner
Verfasst: Mittwoch 31. März 2010, 12:51
Hallo,
wahrscheinlich laufe ich Gefahr, dass diese Frage trivial ist, aber ich arbeite nun seit 2 Tagen mit Python und das hier ist praktisch das allererste Programm, das ich schreibe. Leider eilt es auch sehr und nachdem ich nun zwei Tage gestöbert habe, komme ich nicht so recht auf das Problem. Also bitte Gedult mit mir:)
Im folgenden mein Code: Zweck ist es, aus der Datei PHI0000 den header auszulesen und in die Datei out_file zu schreiben.
Direkt im Anschluss an den Header sollen Datenreihen aus der Datei it_06_00.ASC ausgelesen werden (in Spalten angeordnet), wobei der header ausgelassen werden soll. Diese Daten sollen dann unter den Header im out_file geschrieben werden.
Sinn ist es, Daten die von einem Programm A erzeugt wurden, mit einem Programm B zu lesen.
Nun zu den Problemen:
Das Programm soll das ganze natürlich nicht nur für die eine Datei (it_06_00.ASC) machen, sondern für alle Dateien in dem Ordner.
Dadurch entsteht auch gleich das zweite Problem. Nicht alle Dateien haben, so wie die o.g. 431 Datenpunkte, sondern immer unterschiedliche viele. Die While- und If-Schleifen brauchen also jeweils variable Endwerte.
Die Routine funktioniert so wie sie jetzt geschrieben ist einwandfrei, nur eben leider nur für diese eine Datei, wegen der o.g. Probleme.
Mir ist bewusst, dass man die Routine bestimmt um einiges optimieren könnte, aber soweit bin ich mit meinem know how leider noch nicht.
Vielen Dank für eure Hilfe![/code]
wahrscheinlich laufe ich Gefahr, dass diese Frage trivial ist, aber ich arbeite nun seit 2 Tagen mit Python und das hier ist praktisch das allererste Programm, das ich schreibe. Leider eilt es auch sehr und nachdem ich nun zwei Tage gestöbert habe, komme ich nicht so recht auf das Problem. Also bitte Gedult mit mir:)
Im folgenden mein Code: Zweck ist es, aus der Datei PHI0000 den header auszulesen und in die Datei out_file zu schreiben.
Direkt im Anschluss an den Header sollen Datenreihen aus der Datei it_06_00.ASC ausgelesen werden (in Spalten angeordnet), wobei der header ausgelassen werden soll. Diese Daten sollen dann unter den Header im out_file geschrieben werden.
Sinn ist es, Daten die von einem Programm A erzeugt wurden, mit einem Programm B zu lesen.
Nun zu den Problemen:
Das Programm soll das ganze natürlich nicht nur für die eine Datei (it_06_00.ASC) machen, sondern für alle Dateien in dem Ordner.
Dadurch entsteht auch gleich das zweite Problem. Nicht alle Dateien haben, so wie die o.g. 431 Datenpunkte, sondern immer unterschiedliche viele. Die While- und If-Schleifen brauchen also jeweils variable Endwerte.
Die Routine funktioniert so wie sie jetzt geschrieben ist einwandfrei, nur eben leider nur für diese eine Datei, wegen der o.g. Probleme.
Mir ist bewusst, dass man die Routine bestimmt um einiges optimieren könnte, aber soweit bin ich mit meinem know how leider noch nicht.
Code: Alles auswählen
with open("PHI0000.ASC",'r') as headerfile:
content=headerfile.readlines()
with open("it_06_00.FIO",'r') as datafile:
content1=datafile.readlines()
list={}
data=content
out_file=open("testasc.ASC",'w')
i=0
while i in range(919):
if i<55:
header=content[i]
print header
out_file.write(header)
elif 54<i and i<486:
data=content1[i-26]
zuordnung=data.split()
list[zuordnung[0]]=zuordnung[1]
#print data
print zuordnung[0]
print >>out_file, zuordnung[0]
elif 486<i and i<488:
yheader=content[486]
out_file.write(yheader)
elif 488<=i and i<919:
data=content1[i-459]
zuordnung=data.split()
list[zuordnung[0]]=zuordnung[1]
#print data
print zuordnung[1]
print >>out_file, zuordnung[1]
i=i+1
out_file.close()
Vielen Dank für eure Hilfe![/code]