From 0c7845baf90f1bb2a10032884af5f3b7ac60035b Mon Sep 17 00:00:00 2001 From: Deepith N <135017639+deepith-18@users.noreply.github.com> Date: Sun, 21 Sep 2025 17:27:12 +0530 Subject: [PATCH 1/2] TST: Add regression test for to_datetime format gh-54958 --- pandas/tests/tslibs/test_array_to_datetime.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pandas/tests/tslibs/test_array_to_datetime.py b/pandas/tests/tslibs/test_array_to_datetime.py index fc0000553049e..9f493369c13f1 100644 --- a/pandas/tests/tslibs/test_array_to_datetime.py +++ b/pandas/tests/tslibs/test_array_to_datetime.py @@ -298,3 +298,20 @@ def test_datetime_subclass(klass): expected = np.array(["2000-01-01T00:00:00.000000"], dtype="M8[us]") tm.assert_numpy_array_equal(result, expected) + + +import pandas as pd +from pandas import Timestamp +import pandas._testing as tm + + +def test_to_datetime_format_long_string_gh54958(): + """ + Test that to_datetime with a specific format doesn't fail on strings + that are longer than the format implies. + GH#54958 + """ + ser = pd.Series(["2023010100"]) + expected = pd.Series([Timestamp("2023-01-01")]) + result = pd.to_datetime(ser, format="%Y%m%d") + tm.assert_series_equal(result, expected) \ No newline at end of file From 4d6a36c7dfc5d426b1870150ad761a423dcb3623 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 21 Sep 2025 12:06:15 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pandas/tests/tslibs/test_array_to_datetime.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pandas/tests/tslibs/test_array_to_datetime.py b/pandas/tests/tslibs/test_array_to_datetime.py index 9f493369c13f1..25975b5ce0163 100644 --- a/pandas/tests/tslibs/test_array_to_datetime.py +++ b/pandas/tests/tslibs/test_array_to_datetime.py @@ -302,7 +302,6 @@ def test_datetime_subclass(klass): import pandas as pd from pandas import Timestamp -import pandas._testing as tm def test_to_datetime_format_long_string_gh54958(): @@ -314,4 +313,4 @@ def test_to_datetime_format_long_string_gh54958(): ser = pd.Series(["2023010100"]) expected = pd.Series([Timestamp("2023-01-01")]) result = pd.to_datetime(ser, format="%Y%m%d") - tm.assert_series_equal(result, expected) \ No newline at end of file + tm.assert_series_equal(result, expected)