public static DataTable ReadCSV(string filePath, DataTable csvTable)
        {
            //DataTable csvTable = new DataTable();
            // open the file "data.csv" which is a CSV file with headers
            using (CsvReader csv = new CsvReader(new StreamReader(filePath), true))
            {
                // missing fields will not throw an exception,
                // but will instead be treated as if there was a null value
                csv.MissingFieldAction = MissingFieldAction.ReplaceByNull;
                // to replace by "" instead, then use the following action:
                //csv.MissingFieldAction = MissingFieldAction.ReplaceByEmpty;
                int fieldCount = csvTable.Columns.Count;
                
                // this bit could be modified to fine-tune the columns       
                
                while (csv.ReadNextRecord())
                {
                    DataRow newRow = csvTable.NewRow();
                    for (int i = 0; i < fieldCount; i++)
                        newRow[i] = csv[i] == null ? "MISSING" : csv[i];
                    csvTable.Rows.Add(newRow);
                }
            }
            return csvTable;
        }
       
 
No comments:
Post a Comment