@@ -440,3 +440,28 @@ def test_callable_usecols(self):
440
440
expected = DataFrame ()
441
441
df = self .read_csv (StringIO (s ), usecols = lambda x : False )
442
442
tm .assert_frame_equal (df , expected )
443
+
444
+ def test_incomplete_first_row (self ):
445
+ # see gh-6710
446
+ data = '1,2\n 1,2,3'
447
+ names = ['a' , 'b' , 'c' ]
448
+ expected = DataFrame ({'a' : [1 , 1 ],
449
+ 'c' : [np .nan , 3 ]})
450
+
451
+ usecols = ['a' , 'c' ]
452
+ df = self .read_csv (StringIO (data ), names = names , usecols = usecols )
453
+ tm .assert_frame_equal (df , expected )
454
+
455
+ usecols = lambda x : x in ['a' , 'c' ]
456
+ df = self .read_csv (StringIO (data ), names = names , usecols = usecols )
457
+ tm .assert_frame_equal (df , expected )
458
+
459
+ def test_uneven_length_cols (self ):
460
+ # see gh-8985
461
+ usecols = [0 , 1 , 2 ]
462
+ data = '19,29,39\n ' * 2 + '10,20,30,40'
463
+ expected = DataFrame ([[19 , 29 , 39 ],
464
+ [19 , 29 , 39 ],
465
+ [10 , 20 , 30 ]])
466
+ df = self .read_csv (StringIO (data ), header = None , usecols = usecols )
467
+ tm .assert_frame_equal (df , expected )
0 commit comments