readCsv gelöscht, weil in MainWindow.py implementiert

This commit is contained in:
2025-08-10 15:06:30 +02:00
parent 690f8bd34d
commit 5285e92757
-57
View File
@@ -1,57 +0,0 @@
from conf import TreeNode, XslFile, PdfProjectSettings, XmlFile
from pathlib import Path
from pydantic_yaml import to_yaml_str, parse_yaml_file_as
import polars as pl
import time
# Lade Beispieldaten
start_time = time.time()
df = pl.read_csv("src/res/data.csv").sort(["reporttyp_bez", "report_bez", "repfile_bez"])
load_csv_time = time.time() - start_time
print(f"Performance: csv in {load_csv_time:.3f}s")
start_time = time.time()
ebene_1 = df.group_by(["reporttyp", "reporttyp_bez"]).len()
ebene_2 = df.group_by(["reporttyp", "report", "report_bez"]).len()
ebene_3 = df.group_by(["reporttyp", "report", "repfile", "repfile_bez", "xsl_datei"]).len()
group_time = time.time() - start_time
print(f"Performance: group in {group_time:.3f}s")
project = PdfProjectSettings()
start_time = time.time()
for r1 in ebene_1.rows(named=True):
tn_1 = TreeNode(id=(r1["reporttyp"],), bez=r1["reporttyp_bez"], children=[])
r1_children = ebene_2.filter(pl.col("reporttyp") == r1["reporttyp"])
for r2 in r1_children.rows(named=True):
tn_2 = TreeNode(id=(r2["reporttyp"], r2["report"]), bez=r2["report_bez"], children=[])
r2_children = ebene_3.filter((pl.col("reporttyp") == r1["reporttyp"]) & (pl.col("report") == r2["report"]))
for r3 in r2_children.rows(named=True):
x = XslFile(
id=(r3["reporttyp"], r3["report"], r3["repfile"]),
bez=r3["repfile_bez"],
xsl_file=Path(r3["xsl_datei"]),
xmls=[XmlFile(xml=Path("test.xml"))], # nur als Beispiel
)
tn_2.children.append(x)
tn_1.children.append(tn_2)
project.nodes.append(tn_1)
nodes_time = time.time() - start_time
print(f"Performance: nodes_time in {nodes_time:.3f}s")
start_time = time.time()
with open("project.yaml", "w", encoding="utf8") as f:
f.write(to_yaml_str(project))
dump_time = time.time() - start_time
print(f"Performance: dump_time to file in {dump_time:.3f}s")
start_time = time.time()
project_2 = parse_yaml_file_as(PdfProjectSettings, "project.yaml")
parse_yaml_file_time = time.time() - start_time
print(f"Performance: parse_yaml_file in {parse_yaml_file_time:.3f}s")