Skip to content

Commit ce0497d

Browse files
tests added for gh-14671, expected behavior of simultaneous use of usecols and names unclear so these tests are commented out
1 parent 5e4966c commit ce0497d

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

pandas/tests/io/parser/usecols.py

+29-3
Original file line numberDiff line numberDiff line change
@@ -478,18 +478,44 @@ def test_uneven_length_cols(self):
478478
tm.assert_frame_equal(df, expected)
479479

480480
def test_raise_on_usecols_names_mismatch(self):
481-
# see gh-14671
481+
## see gh-14671
482482
data = 'a,b,c,d\n1,2,3,4\n5,6,7,8'
483+
msg = 'Usecols do not match names' ## from parsers.py CParserWrapper()
484+
msg2 = 'is not in list' ## from parser.py _handle_usecols()
485+
483486
usecols = ['a','b','c','d']
484487
df = self.read_csv(StringIO(data), usecols=usecols)
485488
expected = DataFrame({'a': [1,5], 'b': [2,6], 'c': [3,7], 'd': [4,8]})
486489
tm.assert_frame_equal(df, expected)
487490

488-
msg = 'Usecols do not match names' ## from parsers.py CParserWrapper()
489-
msg2 = 'is not in list' ## from parser.py _handle_usecols()
490491
usecols = ['a','b','c','f']
491492
with tm.assert_raises_regex(ValueError, re.compile("'" + msg + '||' + msg2 + "'")):
492493
self.read_csv(StringIO(data), usecols=usecols)
494+
493495
usecols = ['a','b','f']
494496
with tm.assert_raises_regex(ValueError, re.compile("'" + msg + '||' + msg2 + "'")):
495497
self.read_csv(StringIO(data), usecols=usecols)
498+
499+
names = ['A', 'B', 'C', 'D']
500+
501+
df = self.read_csv(StringIO(data), header=0, names=names)
502+
expected = DataFrame({'A': [1,5], 'B': [2,6], 'C': [3,7], 'D': [4,8]})
503+
tm.assert_frame_equal(df, expected)
504+
505+
# usecols = ['A','C']
506+
# df = self.read_csv(StringIO(data), header=0, names=names, usecols=usecols)
507+
# expected = DataFrame({'A': [1,5], 'C': [3,7]})
508+
# tm.assert_frame_equal(df, expected)
509+
#
510+
# usecols = [0,2]
511+
# df = self.read_csv(StringIO(data), header=0, names=names, usecols=usecols)
512+
# expected = DataFrame({'A': [1,5], 'C': [3,7]})
513+
# tm.assert_frame_equal(df, expected)
514+
515+
516+
usecols = ['A','B','C','f']
517+
with tm.assert_raises_regex(ValueError, re.compile("'" + msg + '||' + msg2 + "'")):
518+
self.read_csv(StringIO(data), header=0, names=names, usecols=usecols)
519+
usecols = ['A','B','f']
520+
with tm.assert_raises_regex(ValueError, re.compile("'" + msg + '||' + msg2 + "'")):
521+
self.read_csv(StringIO(data), names=names, usecols=usecols)

0 commit comments

Comments
 (0)