diff --git a/Testauswertung/prozentuale_Abweichung.py b/Testauswertung/prozentuale_Abweichung.py new file mode 100644 index 0000000..d7194aa --- /dev/null +++ b/Testauswertung/prozentuale_Abweichung.py @@ -0,0 +1,57 @@ +import openpyxl + +def lese_zwei_spalten(file_path): + # Öffne die Excel-Datei + workbook = openpyxl.load_workbook(file_path) + + # Wähle das Arbeitsblatt aus + sheet = workbook['Sheet1'] + + # Lese die Werte der beiden Spalten aus + values_column1 = [cell.value for cell in sheet['O']][1:] + values_column2 = [cell.value for cell in sheet['Q']][1:] + + # Schließe die Excel-Datei + workbook.close() + + return values_column1, values_column2 + +def berechne_prozentuale_abweichung(liste1, liste2): + # Überprüfe, ob die Listen die gleiche Länge haben + if len(liste1) != len(liste2): + raise ValueError("Die Listen müssen die gleiche Länge haben") + + # Berechne die prozentuale Abweichung zwischen den Werten + abweichungen = [((abs(float(b) - float(a)) / float(a)) * 100) if float(a) != 0 else None for a, b in zip(liste1, liste2)] + + return abweichungen + +def write_string_to_excel(file_path, input_string, column): + # Öffne die Excel-Datei + workbook = openpyxl.load_workbook(file_path) + + # Wähle das Arbeitsblatt aus + sheet = workbook['Sheet1'] + + # Trage jeden Buchstaben des Strings in eine eigene Zeile ein + for i, char in enumerate(input_string, 1): + sheet.cell(row=2 + i - 1, column=column, value=char) + + # Speichere die Änderungen + workbook.save(file_path) + + # Schließe die Excel-Datei + workbook.close() + + +# Funktionsaufruf + +values_col1, values_col2 = lese_zwei_spalten('Testcase_excel_dataset.xlsx') + +print(values_col1) +print(values_col2) + +abweichungen = berechne_prozentuale_abweichung(values_col1, values_col2) + +write_string_to_excel('Testcase_excel_dataset.xlsx', abweichungen, 18) + diff --git a/Testauswertung/tabelle_umstrukturieren.py b/Testauswertung/tabelle_umstrukturieren.py new file mode 100644 index 0000000..a889cca --- /dev/null +++ b/Testauswertung/tabelle_umstrukturieren.py @@ -0,0 +1,42 @@ +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) diff --git a/Testauswertung/tabellen_zusammenfuehren.py b/Testauswertung/tabellen_zusammenfuehren.py new file mode 100644 index 0000000..3976c7e --- /dev/null +++ b/Testauswertung/tabellen_zusammenfuehren.py @@ -0,0 +1,52 @@ +import openpyxl + +def excel_row_to_string(file_path): + # Öffne die Excel-Datei + workbook = openpyxl.load_workbook(file_path) + + # Wähle das Arbeitsblatt aus + sheet = workbook['Sheet1'] + + # Erhalte die angegebene Zeile als Liste von Zellen + row_values = [cell.value for cell in sheet[2]] + + # Ergebnisse werden ab Spalte 5 eingetragen + selected_columns = list(range(4, len(row_values))) + + # Wähle nur die gewünschten Spalten aus + selected_values = [row_values[col] for col in selected_columns] + + # Schließe die Excel-Datei + workbook.close() + + # Konvertiere die Liste von Zellen in einen String + row_string = ', '.join(str(value) for value in selected_values) + + return row_string + +def write_string_to_excel(file_path, input_string): + # Öffne die Excel-Datei + workbook = openpyxl.load_workbook(file_path) + + # Wähle das Arbeitsblatt aus + sheet = workbook['Sheet1'] + + # Teile den String nach jedem Komma auf + parts = input_string.split(',') + + # Trage jeden Teil des Strings in eine neue Zeile ein + for i, part in enumerate(parts, 1): + sheet.cell(row=2 + i - 1, column=17, value=part.strip()) # strip entfernt mögliche Leerzeichen + + # Speichere die Änderungen + workbook.save(file_path) + + # Schließe die Excel-Datei + workbook.close() + +# Funktionsaufrufe + +input_string = excel_row_to_string('Testruns.xlsx') + +write_string_to_excel('Testcase_excel_dataset.xlsx', input_string) +