import csv class Export: def __init__(self): pass @staticmethod def matrix_to_csv(dateiname, liste_spaltenbeschriftung, liste_zeilenbeschriftung, Matrix, beschriftung_kopfzeile = ""): with open(dateiname, "w", newline="", encoding="utf-8") as csvfile: writer = csv.writer(csvfile, delimiter=";") kopfzeile = [beschriftung_kopfzeile] for spaltenbeschriftung in liste_spaltenbeschriftung: kopfzeile.append(str(spaltenbeschriftung)) writer.writerow(kopfzeile) for zeilenbeschriftung, zeile in zip(liste_zeilenbeschriftung, Matrix.tolist()): zeile_als_text = [zeilenbeschriftung] for eintrag in zeile: try: eintrag_float = float(eintrag) eintrag_text = f"{eintrag_float}".replace(".", ",") except Exception: eintrag_text = str(eintrag) zeile_als_text.append(eintrag_text) writer.writerow(zeile_als_text) @staticmethod def ausgleichung_to_datei(dateiname, dict_ausgleichung): with open(dateiname, "w", newline="", encoding="utf-8") as csvfile: writer = csv.writer(csvfile, delimiter=";") writer.writerow(["Parameter", "Wert"]) for key, value in dict_ausgleichung.items(): if hasattr(value, "tolist"): rows = value.rows cols = value.cols writer.writerow([key, f"Matrix {rows}x{cols}"]) for i, zeile in enumerate(value.tolist()): zeile_als_text = [f"{key}_zeile_{i+1}"] for eintrag in zeile: try: eintrag_float = float(eintrag) eintrag_text = f"{eintrag_float}".replace(".", ",") except Exception: eintrag_text = str(eintrag) zeile_als_text.append(eintrag_text) writer.writerow(zeile_als_text) else: try: value_float = float(value) value_text = f"{value_float}".replace(".", ",") except Exception: value_text = str(value) writer.writerow([key, value_text])