From ec30c14df8493c0e4a32e1c2856926655716a467 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sun, 2 Aug 2026 08:58:07 +0300 Subject: [PATCH] gh-80678: Document the preferred attribute of csv.Sniffer It can be modified to change the order in which the delimiters are preferred for breaking ties. --- Doc/library/csv.rst | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Doc/library/csv.rst b/Doc/library/csv.rst index 81949261c563d0..e78371f114e0a1 100644 --- a/Doc/library/csv.rst +++ b/Doc/library/csv.rst @@ -324,8 +324,8 @@ The :mod:`!csv` module defines the following classes: If several combinations fit the sample equally well --- for example if both ``','`` and ``';'`` split every row consistently --- - the delimiters ``','``, ``'\t'``, ``';'``, ``' '`` and ``':'`` - are preferred, in this order, + the delimiters listed in the :attr:`~Sniffer.preferred` attribute + are preferred, in that order, no matter how many times each of them occurs. .. versionchanged:: next @@ -354,6 +354,15 @@ The :mod:`!csv` module defines the following classes: This method is a rough heuristic and may produce both false positives and negatives. + The :class:`Sniffer` class has the following attribute: + + .. attribute:: preferred + + The list of the delimiters preferred for breaking ties, + in the order of preference. + It can be modified. + Its initial value is ``[',', '\t', ';', ' ', ':']``. + An example for :class:`Sniffer` use:: with open('example.csv', newline='') as csvfile: