@@ -133,7 +133,6 @@ class _read_shared(TypedDict, Generic[HashableT], total=False):
133
133
encoding_errors : str | None
134
134
dialect : str | csv .Dialect | None
135
135
on_bad_lines : str
136
- delim_whitespace : bool | lib .NoDefault
137
136
low_memory : bool
138
137
memory_map : bool
139
138
float_precision : Literal ["high" , "legacy" , "round_trip" ] | None
@@ -425,14 +424,6 @@ class _read_shared(TypedDict, Generic[HashableT], total=False):
425
424
426
425
Callable for ``engine='pyarrow'``
427
426
428
- delim_whitespace : bool, default False
429
- Specifies whether or not whitespace (e.g. ``' '`` or ``'\\ t'``) will be
430
- used as the ``sep`` delimiter. Equivalent to setting ``sep='\\ s+'``. If this option
431
- is set to ``True``, nothing should be passed in for the ``delimiter``
432
- parameter.
433
-
434
- .. deprecated:: 2.2.0
435
- Use ``sep="\\ s+"`` instead.
436
427
low_memory : bool, default True
437
428
Internally process the file in chunks, resulting in lower memory use
438
429
while parsing, but possibly mixed type inference. To ensure no mixed
@@ -558,15 +549,13 @@ class _read_shared(TypedDict, Generic[HashableT], total=False):
558
549
559
550
560
551
class _C_Parser_Defaults (TypedDict ):
561
- delim_whitespace : Literal [False ]
562
552
na_filter : Literal [True ]
563
553
low_memory : Literal [True ]
564
554
memory_map : Literal [False ]
565
555
float_precision : None
566
556
567
557
568
558
_c_parser_defaults : _C_Parser_Defaults = {
569
- "delim_whitespace" : False ,
570
559
"na_filter" : True ,
571
560
"low_memory" : True ,
572
561
"memory_map" : False ,
@@ -592,7 +581,6 @@ class _Fwf_Defaults(TypedDict):
592
581
"thousands" ,
593
582
"memory_map" ,
594
583
"dialect" ,
595
- "delim_whitespace" ,
596
584
"quoting" ,
597
585
"lineterminator" ,
598
586
"converters" ,
@@ -818,24 +806,12 @@ def read_csv(
818
806
# Error Handling
819
807
on_bad_lines : str = "error" ,
820
808
# Internal
821
- delim_whitespace : bool | lib .NoDefault = lib .no_default ,
822
809
low_memory : bool = _c_parser_defaults ["low_memory" ],
823
810
memory_map : bool = False ,
824
811
float_precision : Literal ["high" , "legacy" , "round_trip" ] | None = None ,
825
812
storage_options : StorageOptions | None = None ,
826
813
dtype_backend : DtypeBackend | lib .NoDefault = lib .no_default ,
827
814
) -> DataFrame | TextFileReader :
828
- if delim_whitespace is not lib .no_default :
829
- # GH#55569
830
- warnings .warn (
831
- "The 'delim_whitespace' keyword in pd.read_csv is deprecated and "
832
- "will be removed in a future version. Use ``sep='\\ s+'`` instead" ,
833
- FutureWarning ,
834
- stacklevel = find_stack_level (),
835
- )
836
- else :
837
- delim_whitespace = False
838
-
839
815
# locals() should never be modified
840
816
kwds = locals ().copy ()
841
817
del kwds ["filepath_or_buffer" ]
@@ -844,7 +820,6 @@ def read_csv(
844
820
kwds_defaults = _refine_defaults_read (
845
821
dialect ,
846
822
delimiter ,
847
- delim_whitespace ,
848
823
engine ,
849
824
sep ,
850
825
on_bad_lines ,
@@ -963,24 +938,12 @@ def read_table(
963
938
# Error Handling
964
939
on_bad_lines : str = "error" ,
965
940
# Internal
966
- delim_whitespace : bool | lib .NoDefault = lib .no_default ,
967
941
low_memory : bool = _c_parser_defaults ["low_memory" ],
968
942
memory_map : bool = False ,
969
943
float_precision : Literal ["high" , "legacy" , "round_trip" ] | None = None ,
970
944
storage_options : StorageOptions | None = None ,
971
945
dtype_backend : DtypeBackend | lib .NoDefault = lib .no_default ,
972
946
) -> DataFrame | TextFileReader :
973
- if delim_whitespace is not lib .no_default :
974
- # GH#55569
975
- warnings .warn (
976
- "The 'delim_whitespace' keyword in pd.read_table is deprecated and "
977
- "will be removed in a future version. Use ``sep='\\ s+'`` instead" ,
978
- FutureWarning ,
979
- stacklevel = find_stack_level (),
980
- )
981
- else :
982
- delim_whitespace = False
983
-
984
947
# locals() should never be modified
985
948
kwds = locals ().copy ()
986
949
del kwds ["filepath_or_buffer" ]
@@ -989,7 +952,6 @@ def read_table(
989
952
kwds_defaults = _refine_defaults_read (
990
953
dialect ,
991
954
delimiter ,
992
- delim_whitespace ,
993
955
engine ,
994
956
sep ,
995
957
on_bad_lines ,
@@ -1296,17 +1258,10 @@ def _clean_options(
1296
1258
engine = "python"
1297
1259
1298
1260
sep = options ["delimiter" ]
1299
- delim_whitespace = options ["delim_whitespace" ]
1300
1261
1301
- if sep is None and not delim_whitespace :
1302
- if engine in ("c" , "pyarrow" ):
1303
- fallback_reason = (
1304
- f"the '{ engine } ' engine does not support "
1305
- "sep=None with delim_whitespace=False"
1306
- )
1307
- engine = "python"
1308
- elif sep is not None and len (sep ) > 1 :
1262
+ if sep is not None and len (sep ) > 1 :
1309
1263
if engine == "c" and sep == r"\s+" :
1264
+ # delim_whitespace passed on to pandas._libs.parsers.TextReader
1310
1265
result ["delim_whitespace" ] = True
1311
1266
del result ["delimiter" ]
1312
1267
elif engine not in ("python" , "python-fwf" ):
@@ -1317,9 +1272,6 @@ def _clean_options(
1317
1272
r"different from '\s+' are interpreted as regex)"
1318
1273
)
1319
1274
engine = "python"
1320
- elif delim_whitespace :
1321
- if "python" in engine :
1322
- result ["delimiter" ] = r"\s+"
1323
1275
elif sep is not None :
1324
1276
encodeable = True
1325
1277
encoding = sys .getfilesystemencoding () or "utf-8"
@@ -1730,7 +1682,6 @@ def _stringify_na_values(na_values, floatify: bool) -> set[str | float]:
1730
1682
def _refine_defaults_read (
1731
1683
dialect : str | csv .Dialect | None ,
1732
1684
delimiter : str | None | lib .NoDefault ,
1733
- delim_whitespace : bool ,
1734
1685
engine : CSVEngine | None ,
1735
1686
sep : str | None | lib .NoDefault ,
1736
1687
on_bad_lines : str | Callable ,
@@ -1750,14 +1701,6 @@ def _refine_defaults_read(
1750
1701
documentation for more details.
1751
1702
delimiter : str or object
1752
1703
Alias for sep.
1753
- delim_whitespace : bool
1754
- Specifies whether or not whitespace (e.g. ``' '`` or ``'\t '``) will be
1755
- used as the sep. Equivalent to setting ``sep='\\ s+'``. If this option
1756
- is set to True, nothing should be passed in for the ``delimiter``
1757
- parameter.
1758
-
1759
- .. deprecated:: 2.2.0
1760
- Use ``sep="\\ s+"`` instead.
1761
1704
engine : {{'c', 'python'}}
1762
1705
Parser engine to use. The C engine is faster while the python engine is
1763
1706
currently more feature-complete.
@@ -1777,12 +1720,6 @@ def _refine_defaults_read(
1777
1720
-------
1778
1721
kwds : dict
1779
1722
Input parameters with correct values.
1780
-
1781
- Raises
1782
- ------
1783
- ValueError :
1784
- If a delimiter was specified with ``sep`` (or ``delimiter``) and
1785
- ``delim_whitespace=True``.
1786
1723
"""
1787
1724
# fix types for sep, delimiter to Union(str, Any)
1788
1725
delim_default = defaults ["delimiter" ]
@@ -1813,12 +1750,6 @@ def _refine_defaults_read(
1813
1750
if delimiter is None :
1814
1751
delimiter = sep
1815
1752
1816
- if delim_whitespace and (delimiter is not lib .no_default ):
1817
- raise ValueError (
1818
- "Specified a delimiter with both sep and "
1819
- "delim_whitespace=True; you can only specify one."
1820
- )
1821
-
1822
1753
if delimiter == "\n " :
1823
1754
raise ValueError (
1824
1755
r"Specified \n as separator or delimiter. This forces the python engine "
0 commit comments