Skip to content

Commit ac4debd

Browse files
authored
Deprecate delim_whitespace in read_csv for pandas 2.2 (#14986)
Toward pandas 2.2 compat: Deprecated in pandas in pandas-dev/pandas#56557 Authors: - Matthew Roeschke (https://github.com/mroeschke) Approvers: - Ashwin Srinath (https://github.com/shwina) URL: #14986
1 parent bb6ae07 commit ac4debd

File tree

2 files changed

+29
-9
lines changed

2 files changed

+29
-9
lines changed

python/cudf/cudf/io/csv.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# Copyright (c) 2018-2023, NVIDIA CORPORATION.
1+
# Copyright (c) 2018-2024, NVIDIA CORPORATION.
22

3+
import warnings
34
from collections import abc
45
from io import BytesIO, StringIO
56

@@ -55,6 +56,13 @@ def read_csv(
5556
):
5657
"""{docstring}"""
5758

59+
if delim_whitespace is not False:
60+
warnings.warn(
61+
"The 'delim_whitespace' keyword in pd.read_csv is deprecated and "
62+
"will be removed in a future version. Use ``sep='\\s+'`` instead",
63+
FutureWarning,
64+
)
65+
5866
if use_python_file_object and bytes_per_thread is not None:
5967
raise ValueError(
6068
"bytes_per_thread is only supported when "

python/cudf/cudf/tests/test_csv.py

+20-8
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@
1717

1818
import cudf
1919
from cudf import read_csv
20-
from cudf.core._compat import PANDAS_GE_200
21-
from cudf.testing._utils import assert_eq, assert_exceptions_equal
20+
from cudf.core._compat import PANDAS_GE_200, PANDAS_GE_220
21+
from cudf.testing._utils import (
22+
assert_eq,
23+
assert_exceptions_equal,
24+
expect_warning_if,
25+
)
2226

2327

2428
def make_numeric_dataframe(nrows, dtype):
@@ -1263,20 +1267,28 @@ def test_csv_reader_delim_whitespace():
12631267
buffer = "1 2 3\n4 5 6"
12641268

12651269
# with header row
1266-
cu_df = read_csv(StringIO(buffer), delim_whitespace=True)
1267-
pd_df = pd.read_csv(StringIO(buffer), delim_whitespace=True)
1270+
with pytest.warns(FutureWarning):
1271+
cu_df = read_csv(StringIO(buffer), delim_whitespace=True)
1272+
with expect_warning_if(PANDAS_GE_220):
1273+
pd_df = pd.read_csv(StringIO(buffer), delim_whitespace=True)
12681274
assert_eq(pd_df, cu_df)
12691275

12701276
# without header row
1271-
cu_df = read_csv(StringIO(buffer), delim_whitespace=True, header=None)
1272-
pd_df = pd.read_csv(StringIO(buffer), delim_whitespace=True, header=None)
1277+
with pytest.warns(FutureWarning):
1278+
cu_df = read_csv(StringIO(buffer), delim_whitespace=True, header=None)
1279+
with expect_warning_if(PANDAS_GE_220):
1280+
pd_df = pd.read_csv(
1281+
StringIO(buffer), delim_whitespace=True, header=None
1282+
)
12731283
assert pd_df.shape == cu_df.shape
12741284

12751285
# should raise an error if used with delimiter or sep
12761286
with pytest.raises(ValueError):
1277-
read_csv(StringIO(buffer), delim_whitespace=True, delimiter=" ")
1287+
with pytest.warns(FutureWarning):
1288+
read_csv(StringIO(buffer), delim_whitespace=True, delimiter=" ")
12781289
with pytest.raises(ValueError):
1279-
read_csv(StringIO(buffer), delim_whitespace=True, sep=" ")
1290+
with pytest.warns(FutureWarning):
1291+
read_csv(StringIO(buffer), delim_whitespace=True, sep=" ")
12801292

12811293

12821294
def test_csv_reader_unnamed_cols():

0 commit comments

Comments
 (0)