2016-08-12 7 views
0
string[] filePaths = Directory.GetFiles("D:\\", "*.csv"); 
foreach (var file in filePaths) 
{ 
    // string[] datacsv = System.IO.File.ReadAllLines("D:\\LP02_1506172300.csv"); 
    string[] datacsv2 = System.IO.File.ReadAllLines(file); 
    string[] data_col = null; 
    int x = 0; 
    foreach (string textcsv in datacsv2) 
    { 
     data_col = textcsv.Split(','); 

     if (x == 0) 
     { 
      for (int i = 0; i <= data_col.Count()-1; i++) 
      { 
       Table.Columns.Add(data_col[i]); 

      } 
      x++; 
     } 
     else 
     { 
       Table.Rows.Add(data_col); 
     } 
    } 
    Gridviews.DataSource = Table; 
    this.Controls.Add(Gridviews); 

FehlerFehler Datei lesen CSV in der Liste Ordner

"Table.Columns.Add (data_col [i])", die eine Spalte namens 'Date' bereits dieser Datatable gehört.

danken im Voraus

+1

Wird nützlich sein, wenn Sie zeigen, wie die Datei aussieht –

+1

Wird 'Date' mehr als einmal in dieser Datei angezeigt, die Sie haben? –

+1

Die erste Zeile in Ihrer CSV-Datei hat mehrere Spalten mit dem Namen "Date". –

Antwort

0

Fehler sagen alles, schon seit Spalte vorhanden ist so dass Sie die Spalte einen anderen Namen zuweisen müssen.

+0

In Datei-Header-Spalte wiederholen Name Wie nicht Header Spaltenname nächste CSV-Datei? –

+0

Sorry, ich bin mir nicht sicher, was Sie meinen, aber es gibt keine Möglichkeit in einer DataTable denselben Spaltennamen zu wiederholen. – jbmintjb

+0

Beispiel: CSV File1 Datum Uhrzeit Name Nickname 19/04/2013 13:00:00 John Jack . . CSV File2 Datum Uhrzeit Name Spitzname 20/05/2013 15:00:00 Jame Jane . . CSV .. –