@@ -554,6 +554,51 @@ void Verify(DataFrame df)
554
554
Verify ( df ) ;
555
555
}
556
556
557
+ [ Fact ]
558
+ public void TestReadCsvWithCommaSeparatorsInHeaderData ( )
559
+ {
560
+ string data = @"""Na,me"",Age,Description
561
+ Paul,34,""Paul lives in Vermont, VA.""
562
+ Victor,29,""Victor: Funny guy""
563
+ Maria,31," ;
564
+
565
+ void Verify ( DataFrame df )
566
+ {
567
+ Assert . Equal ( 3 , df . Rows . Count ) ;
568
+ Assert . Equal ( 3 , df . Columns . Count ) ;
569
+
570
+ Assert . True ( typeof ( string ) == df . Columns [ 0 ] . DataType ) ;
571
+ Assert . True ( typeof ( int ) == df . Columns [ 1 ] . DataType ) ;
572
+ Assert . True ( typeof ( string ) == df . Columns [ 2 ] . DataType ) ;
573
+
574
+
575
+ Assert . Equal ( "Na,me" , df . Columns [ 0 ] . Name ) ;
576
+ Assert . Equal ( "Age" , df . Columns [ 1 ] . Name ) ;
577
+ Assert . Equal ( "Description" , df . Columns [ 2 ] . Name ) ;
578
+ VerifyColumnTypes ( df ) ;
579
+
580
+ var paulRow = df . Rows [ 0 ] ;
581
+ Assert . Equal ( "Paul" , paulRow [ 0 ] ) ;
582
+ Assert . Equal ( 34 , paulRow [ 1 ] ) ;
583
+ Assert . Equal ( "Paul lives in Vermont, VA." , paulRow [ 2 ] ) ;
584
+
585
+ var victorRow = df . Rows [ 1 ] ;
586
+ Assert . Equal ( "Victor" , victorRow [ 0 ] ) ;
587
+ Assert . Equal ( 29 , victorRow [ 1 ] ) ;
588
+ Assert . Equal ( "Victor: Funny guy" , victorRow [ 2 ] ) ;
589
+
590
+ var mariaRow = df . Rows [ 2 ] ;
591
+ Assert . Equal ( "Maria" , mariaRow [ 0 ] ) ;
592
+ Assert . Equal ( 31 , mariaRow [ 1 ] ) ;
593
+ Assert . Equal ( "" , mariaRow [ 2 ] ) ;
594
+ }
595
+
596
+ DataFrame df = DataFrame . LoadCsv ( GetStream ( data ) , dataTypes : new Type [ ] { typeof ( string ) , typeof ( int ) , typeof ( string ) } ) ;
597
+ Verify ( df ) ;
598
+ df = DataFrame . LoadCsvFromString ( data , dataTypes : new Type [ ] { typeof ( string ) , typeof ( int ) , typeof ( string ) } ) ;
599
+ Verify ( df ) ;
600
+ }
601
+
557
602
[ Fact ]
558
603
public void TestReadCsvWithNewlinesInData ( )
559
604
{
0 commit comments