Skip to content

Commit 44a71b9

Browse files
pandas-dev#34946 Check type of names argument to read_csv, read_table, read_fwf to not be a set.
1 parent 477fed5 commit 44a71b9

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

pandas/io/parsers.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ 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 invalid data type.
401401
402402
Parameters
403403
----------
@@ -407,11 +407,13 @@ def _validate_names(names):
407407
Raises
408408
------
409409
ValueError
410-
If names are not unique.
410+
If names are not unique or have incosistent ordering (e.g. set).
411411
"""
412412
if names is not None:
413413
if len(names) != len(set(names)):
414414
raise ValueError("Duplicate names are not allowed.")
415+
if not is_list_like(names, allow_sets=False):
416+
raise ValueError("Names should have consistent ordering. Consider a list instead.")
415417

416418

417419
def _read(filepath_or_buffer: FilePathOrBuffer, kwds):

0 commit comments

Comments
 (0)