diff --git a/dags/OSV.py b/dags/OSV.py index 77c5c65..348cc29 100644 --- a/dags/OSV.py +++ b/dags/OSV.py @@ -170,6 +170,25 @@ def read_data_1C(**kwargs): display(f" Примеры: {original[failed].head(3).tolist()}") df = df.groupby(group_columns, as_index=False).agg(sum_columns) + + # Преобразуем даты из формата DD.MM.YYYY HH:MM:SS в datetime + date_columns = ['date_begin', 'date_end', 'get_date'] + + for col in date_columns: + if col in df.columns: + # Пробуем разные форматы дат + df[col] = pd.to_datetime(df[col], format='%d.%m.%Y %H:%M:%S', errors='coerce') + + # Если не сработало, пробуем без времени + if df[col].isna().any(): + df[col] = pd.to_datetime(df[col], format='%d.%m.%Y', errors='coerce') + + # Убедимся, что все даты преобразованы + for col in date_columns: + if col in df.columns: + failed_count = df[col].isna().sum() + if failed_count > 0: + print(f" Внимание: в колонке '{col}' осталось {failed_count} некорректных дат") with engine.begin() as conn: