Skip to content

Commit 820fb61

Browse files
ENH: GH34946 Check type of names argument to read_csv, read_table, read_fwf to not be a set.
1 parent 477fed5 commit 820fb61

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

pandas/io/parsers.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,8 @@ def _validate_integer(name, val, min_val=0):
397397

398398
def _validate_names(names):
399399
"""
400-
Raise ValueError if the `names` parameter contains duplicates.
400+
Raise ValueError if the `names` parameter contains duplicates or has an
401+
invalid data type.
401402
402403
Parameters
403404
----------
@@ -407,11 +408,15 @@ def _validate_names(names):
407408
Raises
408409
------
409410
ValueError
410-
If names are not unique.
411+
If names are not unique or have incosistent ordering (e.g. set).
411412
"""
412413
if names is not None:
413414
if len(names) != len(set(names)):
414415
raise ValueError("Duplicate names are not allowed.")
416+
if not is_list_like(names, allow_sets=False):
417+
raise ValueError(
418+
"Names should have consistent ordering. Consider a list instead."
419+
)
415420

416421

417422
def _read(filepath_or_buffer: FilePathOrBuffer, kwds):

0 commit comments

Comments
 (0)