File tree Expand file tree Collapse file tree 3 files changed +27
-11
lines changed
Expand file tree Collapse file tree 3 files changed +27
-11
lines changed Original file line number Diff line number Diff line change @@ -177,6 +177,7 @@ MultiIndex
177177I/O
178178^^^
179179- Bug in :meth: `read_json ` where integer overflow was occuring when json contains big number strings. (:issue: `30320 `)
180+ - `read_csv ` will now raise a ``ValueError `` when the arguments `header ` and `prefix ` both are not `None `. (:issue: `27394 `)
180181- Bug in :meth: `DataFrame.to_json ` was raising ``NotFoundError `` when ``path_or_buf `` was an S3 URI (:issue: `28375 `)
181182-
182183
Original file line number Diff line number Diff line change @@ -1399,17 +1399,21 @@ def __init__(self, kwds):
13991399 "index_col must only contain row numbers "
14001400 "when specifying a multi-index header"
14011401 )
1402-
1403- # GH 16338
1404- elif self .header is not None and not is_integer (self .header ):
1405- raise ValueError ("header must be integer or list of integers" )
1406-
1407- # GH 27779
1408- elif self .header is not None and self .header < 0 :
1409- raise ValueError (
1410- "Passing negative integer to header is invalid. "
1411- "For no header, use header=None instead"
1412- )
1402+ elif self .header is not None :
1403+ # GH 27394
1404+ if self .prefix is not None :
1405+ raise ValueError (
1406+ "Argument prefix must be None if argument header is not None"
1407+ )
1408+ # GH 16338
1409+ elif not is_integer (self .header ):
1410+ raise ValueError ("header must be integer or list of integers" )
1411+ # GH 27779
1412+ elif self .header < 0 :
1413+ raise ValueError (
1414+ "Passing negative integer to header is invalid. "
1415+ "For no header, use header=None instead"
1416+ )
14131417
14141418 self ._name_processed = False
14151419
Original file line number Diff line number Diff line change @@ -2040,6 +2040,17 @@ def test_read_csv_memory_growth_chunksize(all_parsers):
20402040 pass
20412041
20422042
2043+ def test_read_csv_raises_on_header_prefix (all_parsers ):
2044+ # gh-27394
2045+ parser = all_parsers
2046+ msg = "Argument prefix must be None if argument header is not None"
2047+
2048+ s = StringIO ("0,1\n 2,3" )
2049+
2050+ with pytest .raises (ValueError , match = msg ):
2051+ parser .read_csv (s , header = 0 , prefix = "_X" )
2052+
2053+
20432054def test_read_table_equivalency_to_read_csv (all_parsers ):
20442055 # see gh-21948
20452056 # As of 0.25.0, read_table is undeprecated
You can’t perform that action at this time.
0 commit comments