bin absoluter Python-Anfänger, dennoch im Vergleich zu anderen Sprachen, die ich kenne, ist in Python vieles sehr einfach gehalten ... macht richtig Spaß!
Gut, ich kann keine Listen sortieren, das ist mein Code, ich will gerne nach dem Wert 0,xxx, hier der fünften Spalte absteigend sortieren. Ich las schon, dass sich in Python 3 da wohl was geändert hat, daher bitte ich um ein Beispiel für python3.
Ich weiss auch nicht ob ich das Einlesen korrekt mache, wie macht ihr das, wenn ihr eine CSV-Datei einlesen wollt, diese in den Hauptspeicher überführt, dann sortiert und dann wieder eine neue CSV-Datei schreibt - danke vorab!
Code: Alles auswählen
#!/usr/bin/python3
# Quelldaten datimpcols ...
# 0;102L_A;120;0;102L_A;0,716668;24;120;163
try:
d = open( "datimpcols.txt" )
except:
print( "Oeffnen der Datei nicht erfolgreich!" )
sys.exit(0)
# Lesen
wholecontent = d.read()
d.close()
# Wandle in Datenstruktur
allrows = wholecontent.split( chr(10) )
row = []
i = 0
for row in allrows:
if row:
temprowtokens = zeile.split(";")
row.append( [ i, temprowtokens[4], float( temprowtokens[5]), int( temprowtokens[7] ) ] )
i = i + 1
# Sortieren der Liste nach U-Wert
sorted( rows, key=lambda row[ )
# Schreiben der Datei
try :
d = open( "plotdat.txt", "w" )
except:
print( "Datei kann nicht geoeffnet werden.")
sys.exit( 0 )
for element in li :
d.write( element[ 2 ] + " " + element[3] + "\n" )
print( element[ 2 ], " ", element[3], "\n" )
d.close()
print( "... Ende!" )