ich habe folgendes Problem:
Ich habe einen recht umfangreichen Algorithmus geschrieben, der für jeden Tag der Woche bestimmte Schichten plant. Bisher handhabe ich es so, dass die Funktion als Input-Parameter einen einzelnen Tag nimmt, diesen plant und dann eine csv-Datei schreibt. Am Ende möchte ich alle diese einzelnen csv-Dateien zu einer zusammenfassen, um die gesamte Woche zu haben. Da innerhalb der Funktion aber nur lokale Variablen erzeugt werden, kann ich außerhalb der Funktion auf diese nicht mehr zugreifen. Ich habe aktuell folgende Idee:
In der Funktion die neuen Variablen global zu definieren, damit ich danach auf diese zugreifen kann. Gut wäre hierfür, wenn ich für jeden Tag der Woche eine eigene global definierte Variable hätte, die auch dementsprechend heißt.
Code: Alles auswählen
def Tagesplanung(input_df, Tag):
#codeblock
csv_file = open("Schichtplanung_"+str(Tag)+".csv", "a")
for index, row in Schicht_df.iterrows():
csv_file.write(str(SchichtNr) + ";" + str(row.globaleID) + "\n")
global ???
??? = ???
Code: Alles auswählen
Tagesplanung(df_Mo, "Mo")
Tagesplanung(df_Di, "Di")
...
Im Optimalfall hätte ich durch Ersetzung der ??? danach 7 Listen von Montag bis Freitag, die alle auch so benannt sind.
tagesplanung_Mo / tagesplanung_Di / ...
Ich habe aber noch keine Idee, wie ich das im Code konkret umsetzen kann. Es gibt sicherlich noch deutlich bessere Ansätze, um dieses Problem zu lösen und ich freue mich auch sehr über weitere Denkanstöße!