Skip to content
Merged
1 change: 1 addition & 0 deletions doc/source/whatsnew/v2.2.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ Other API changes

Deprecations
~~~~~~~~~~~~
- Deprecated allowing non-keyword arguments in :meth:`DataFrame.to_clipboard`. (:issue:`54229`)
- Deprecated allowing non-keyword arguments in :meth:`DataFrame.to_csv` except ``path_or_buf``. (:issue:`54229`)
- Deprecated allowing non-keyword arguments in :meth:`DataFrame.to_hdf` except ``path_or_buf``. (:issue:`54229`)
- Deprecated allowing non-keyword arguments in :meth:`DataFrame.to_html` except ``buf``. (:issue:`54229`)
Expand Down
3 changes: 3 additions & 0 deletions pandas/core/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -3098,6 +3098,9 @@ def to_pickle(
)

@final
@deprecate_nonkeyword_arguments(
version="3.0", allowed_args=["self"], name="to_clipboard"
)
def to_clipboard(
self, excel: bool_t = True, sep: str | None = None, **kwargs
) -> None:
Expand Down
10 changes: 10 additions & 0 deletions pandas/tests/io/test_clipboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -471,3 +471,13 @@ def test_invalid_dtype_backend(self):
)
with pytest.raises(ValueError, match=msg):
read_clipboard(dtype_backend="numpy")

def test_to_clipboard_pos_args_deprecation(self):
# GH-54229
df = DataFrame({"a": [1, 2, 3]})
msg = (
r"Starting with pandas version 3.0 all arguments of to_clipboard "
r"will be keyword-only."
)
with tm.assert_produces_warning(FutureWarning, match=msg):
df.to_clipboard(True, None)