Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import csv, os, operator
- os.makedirs('Sortiert', exist_ok=True)
- #for Schleife geht jedes Dokument des Pfades durch und bearbeitet nur die,
- # welches .csv Dokumente sind.
- for csvBlatt in os.listdir('.'):
- if not csvBlatt.endswith('.csv'):
- continue
- # Nur KS Files werden sortiert. Möglichkeit der Aufspaltung in Ordner auch gegeben!
- if 'KS' not in csvBlatt:
- continue
- #Temporäres Array, das gefüllt und nachher in ein neues Dok kopiert wird.
- zwischenTabelle = []
- aktuellesBlatt = open(csvBlatt)
- #Überspringt Header, wird nicht mitsortiert oder kopiert
- next(aktuellesBlatt)
- reader = csv.reader(aktuellesBlatt, delimiter = ',')
- #Nur zur Kontrolle:
- #print('Aktuell untersucht: ' + csvBlatt)
- #Tabelle wird der Größe nach Geordnet, nach Werten der Spalte 'F'
- sortiertesBlattX = sorted(reader, key = lambda x:float(x[5]))
- #Endgültige Sortierung, nach Spalte 'G'
- sortiertesBlatt = sorted(sortiertesBlattX, key = lambda x:float(x[6]))
- for row in sortiertesBlatt:
- #print(row)
- #Fügt die sortierten Zeilen dem temporären Array zu
- zwischenTabelle.append(row)
- #print("\n"*5)
- #print(zwischenTabelle)
- aktuellesBlatt.close()
- aktuellesBlatt = open(os.path.join('Sortiert', csvBlatt), 'w', newline ='')
- writer = csv.writer(aktuellesBlatt)
- writer.writerow(['Name','Abw','Status','Obere Tol','Untere Tol', 'Ref X', 'Ref Y', 'Ref Z', 'Radius', 'Abw X', 'Abw Y', 'Abw Z', 'Gemessen X', 'Gemessen Y', 'Gemessen Z', 'Proj. Richtung X', 'Proj. Richtung Y', 'Proj. Richtung Z'])
- for row in zwischenTabelle:
- writer.writerow(row)
- aktuellesBlatt.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement