Ich habs noch nicht sinnvoll zusammengeführt, mach ich noch. Zuerst zusammenführen, dann Abweichung berechnen, dann umstrukturieren Außerdem hab ich es probeweise nicht im ordner mit der original excel ausgeführt, um im Fehlerfall nicht neu berechnen zu müssen Da es aber alles funktioniert würde ich das Programm wenn es fertig ist in den Ordner mit den excel files packen
43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
import openpyxl
|
|
|
|
def kopiere_header(input_sheet, output_sheet):
|
|
# Kopiere den Header manuell in das Ausgabe-Arbeitsblatt
|
|
for row in input_sheet.iter_rows(min_row=1, max_row=1, values_only=True):
|
|
output_sheet.append(row)
|
|
|
|
def sortiere_excel_tabelle(input_file_path, output_file_path, ):
|
|
# Öffne die Eingabe-Excel-Datei
|
|
input_workbook = openpyxl.load_workbook(input_file_path)
|
|
input_sheet = input_workbook['Sheet1']
|
|
|
|
# Erstelle eine neue Excel-Tabelle für die sortierten Zeilen
|
|
output_workbook = openpyxl.Workbook()
|
|
output_sheet = output_workbook.active
|
|
|
|
# Kopiere den Header ins Ausgabe-Arbeitsblatt
|
|
kopiere_header(input_sheet, output_sheet)
|
|
|
|
# Lese die Daten-Zeilen aus der Tabelle
|
|
data_rows = list(input_sheet.iter_rows(min_row=2, values_only=True))
|
|
|
|
# Sortiere die Daten-Zeilen nach dem Wert der angegebenen Spalte
|
|
sorted_data_rows = sorted(data_rows, key=lambda x: x[18 - 1]) # -1, da Listenindizes bei 0 beginnen
|
|
|
|
# Schreibe die sortierten Daten-Zeilen in die neue Tabelle
|
|
for row in sorted_data_rows:
|
|
output_sheet.append(row)
|
|
|
|
# Speichere die Änderungen in der neuen Excel-Datei
|
|
output_workbook.save(output_file_path)
|
|
|
|
# Schließe die Excel-Dateien
|
|
input_workbook.close()
|
|
output_workbook.close()
|
|
|
|
|
|
# Beispielaufruf
|
|
input_file_path = 'Testcase_excel_dataset.xlsx'
|
|
output_file_path = 'Testcases_nach_Genauigkeit.xlsx'
|
|
|
|
sortiere_excel_tabelle(input_file_path, output_file_path)
|