edit corelation.py and add hr_data_cleaned.csv
parent
0cc75b78c7
commit
9005b4fbfb
|
@ -114,7 +114,7 @@ month_translation = {
|
||||||
|
|
||||||
# Funktion, um Datumsbereiche wie 'Mrz 29-Apr 4' oder 'Dez 29, 2023-Jan 4, 2024' in die Kalenderwoche und das Startdatum zu konvertieren
|
# Funktion, um Datumsbereiche wie 'Mrz 29-Apr 4' oder 'Dez 29, 2023-Jan 4, 2024' in die Kalenderwoche und das Startdatum zu konvertieren
|
||||||
def convert_to_week_number_and_start_date(date_range_str):
|
def convert_to_week_number_and_start_date(date_range_str):
|
||||||
# Entferne zusätzliche Leerzeichen um den Bindestrich herum
|
# Entferne zusätzliche Leerzeichen um den Bindestrich herum und entferne Kommas
|
||||||
date_range_str = date_range_str.replace(" - ", "-").replace(",", "")
|
date_range_str = date_range_str.replace(" - ", "-").replace(",", "")
|
||||||
|
|
||||||
# Splitte den Datumsbereich in Start- und Endteil
|
# Splitte den Datumsbereich in Start- und Endteil
|
||||||
|
@ -128,12 +128,20 @@ def convert_to_week_number_and_start_date(date_range_str):
|
||||||
# Verarbeite den Endteil
|
# Verarbeite den Endteil
|
||||||
end_parts = end_part.split(" ")
|
end_parts = end_part.split(" ")
|
||||||
|
|
||||||
if len(end_parts) == 2:
|
# Verarbeite das Enddatum, basierend darauf, ob ein Jahr enthalten ist oder nicht
|
||||||
|
if len(end_parts) == 3: # Fall: 'Jan 4 2024'
|
||||||
end_month_str = end_parts[0]
|
end_month_str = end_parts[0]
|
||||||
end_day = int(end_parts[1].strip()) # Nimm den Endtag
|
end_day = int(end_parts[1].strip())
|
||||||
|
end_year = int(end_parts[2].strip()) # Nimm das Jahr aus dem Endteil
|
||||||
|
elif len(end_parts) == 2: # Fall: 'Jan 4' ohne Jahr
|
||||||
|
end_month_str = end_parts[0]
|
||||||
|
end_day = int(end_parts[1].strip())
|
||||||
|
end_year = datetime.now().year # Nutze das aktuelle Jahr, wenn kein Jahr angegeben ist
|
||||||
else:
|
else:
|
||||||
end_month_str = start_month_str # Falls kein Monat angegeben, setze den Startmonat
|
# Falls kein Monat angegeben, setze den Startmonat für den Endteil
|
||||||
|
end_month_str = start_month_str
|
||||||
end_day = int(end_parts[0].strip())
|
end_day = int(end_parts[0].strip())
|
||||||
|
end_year = datetime.now().year # Nutze das aktuelle Jahr
|
||||||
|
|
||||||
# Konvertiere den deutschen Monatsnamen in den englischen für beide Monate
|
# Konvertiere den deutschen Monatsnamen in den englischen für beide Monate
|
||||||
if start_month_str in month_translation:
|
if start_month_str in month_translation:
|
||||||
|
@ -143,21 +151,19 @@ def convert_to_week_number_and_start_date(date_range_str):
|
||||||
|
|
||||||
# Wenn der Startteil ein Jahr enthält, nutze dieses
|
# Wenn der Startteil ein Jahr enthält, nutze dieses
|
||||||
if len(start_parts) == 3:
|
if len(start_parts) == 3:
|
||||||
current_year = int(start_parts[2])
|
start_year = int(start_parts[2])
|
||||||
else:
|
else:
|
||||||
current_year = datetime.now().year
|
start_year = datetime.now().year
|
||||||
|
|
||||||
# Wenn der Datumsbereich über den Dezember hinausgeht, endet das Enddatum im nächsten Jahr
|
# Falls der Datumsbereich über den Dezember hinausgeht, endet das Enddatum im nächsten Jahr
|
||||||
if start_month_str == 'Dec' and end_month_str == 'Jan':
|
if start_month_str == 'Dec' and end_month_str == 'Jan':
|
||||||
end_year = current_year + 1
|
end_year = start_year + 1
|
||||||
else:
|
|
||||||
end_year = current_year
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Konvertiere das Startdatum in ein Datum
|
# Konvertiere das Startdatum in ein Datum
|
||||||
start_date = datetime.strptime(f"{start_month_str} {start_day} {current_year}", "%b %d %Y")
|
start_date = datetime.strptime(f"{start_month_str} {start_day} {start_year}", "%b %d %Y")
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise ValueError(f"Ungültiges Startdatum: {start_month_str} {start_day} {current_year}")
|
raise ValueError(f"Ungültiges Startdatum: {start_month_str} {start_day} {start_year}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Konvertiere das Enddatum in ein Datum
|
# Konvertiere das Enddatum in ein Datum
|
||||||
|
|
Loading…
Reference in New Issue