2017-09-07 3 views
0

Wollte prüfen, ob es einen Nullwert im Spaltenfeld in der CSV-Datei gibt und auch kein NULL-Wert hinter der/in-Spalte sein sollte, wenn es NULL ist, sollte die gesamte Zeile nicht geschrieben werden Datei ausgeben.CSV-Dateianalyse in C#

name,number,gender,country 
iva 1/001 f  Antartica 
aaju 2/002 m  russia 
lax 3/  m  brazil 
ana 4/004 f  Thailand 
vis 5/005 m  

für z.B. 3. und 5. Zeile sollten nicht in die Ausgabedatei geschrieben werden.

using (StreamWriter file = new StreamWriter(filepathop)) { 

    for (int i = 0; i < csv.Length; i++) { 

     { 
      if (i == 0) { 
       file.WriteLine(header + "," + "num" + "," + "serial" + "," + "date"); 
      } 
      else { 
       var newline = new StringBuilder(); 
       string[] words = csv[i].Split(','); 
       string[] no = words[1].Split('/'); 
       string number = no[0]; 
       string serial = no[1]; 

       newline.Append(number + "," + serial + "," + tokens[0]); 

       file.WriteLine(csv[i] + "," + newline); 

      } 
     } 

    } 

} 
} 
} 
} 
+0

Ihre Eingabe scheint nicht durch Kommas getrennt zu sein, es scheint eine feste Spaltenbreite zu haben, Leerzeichen getrennt? – yacc

+0

eigentlich ist es eine CSV-Datei. – Dithan

Antwort

0

Sie können mit string.IsNullOrEmpty(column) oder column.Length == 0 wie so für null Spalten testen:

if (!string.IsNullOrEmpty(serial) && !string.IsNullOrEmpty(country)) 
    file.WriteLine(csv[i] + "," + newline); 

Sie könnten überprüfen möchten und weißen Raum zu entfernen, auch. Hängt von Ihrer Eingabe ab.