diff --git a/awswrangler/athena/_read.py b/awswrangler/athena/_read.py index 7e6c519a8..296186081 100644 --- a/awswrangler/athena/_read.py +++ b/awswrangler/athena/_read.py @@ -65,9 +65,9 @@ def _fix_csv_types(df: pd.DataFrame, parse_dates: List[str], binaries: List[str] """Apply data types cast to a Pandas DataFrames.""" if len(df.index) > 0: for col in parse_dates: - try: + if pd.api.types.is_datetime64_any_dtype(df[col]): df[col] = df[col].dt.date.replace(to_replace={pd.NaT: None}) - except AttributeError: + else: df[col] = ( df[col].replace(to_replace={pd.NaT: None}).apply(lambda x: date.fromisoformat(x) if x else None) ) diff --git a/tests/unit/test_athena.py b/tests/unit/test_athena.py index 3bdaf149d..87434904a 100644 --- a/tests/unit/test_athena.py +++ b/tests/unit/test_athena.py @@ -1401,4 +1401,4 @@ def test_athena_date_recovery(path, glue_database, glue_table): database=glue_database, ctas_approach=False, ) - assert df.equals(df2) + assert pandas_equals(df, df2)