using System.Collections.Generic; using System.Globalization; using System.IO; using CsvHelper; namespace DTS.Common.Import { public static class CsvUtil { public static CsvReader CreateCsvReader(string filename) { var reader = new StreamReader(filename); var csvReader = new CsvReader(reader, CultureInfo.InvariantCulture); return csvReader; } /// /// Read fields from csv reader /// /// an instance of csv readere /// determine if read next line and then get the fields or just get fields from the existing state /// public static List ReadFields(CsvReader csvReader, bool readNextLine = true) { List tokens = new List(); if (readNextLine) { csvReader.Read(); } for (int i = 0; i < csvReader.ColumnCount; i++) { tokens.Add(csvReader.GetField(i)?.Trim()); } return tokens; } } }