static void Main(string[] args) { CsvParserOptions csvParserOptions = new CsvParserOptions(true, ','); CsvUserDetailsMapping csvMapper = new CsvUserDetailsMapping(); CsvParser <UserDetails> csvParser = new CsvParser <UserDetails>(csvParserOptions, csvMapper); var result = csvParser .ReadFromFile(@"TestData.csv", Encoding.ASCII) .ToList(); Console.WriteLine("Name " + "ID " + "City " + "Country"); foreach (var details in result) { Console.WriteLine(details.Result.Name + " " + details.Result.ID + " " + details.Result.City + " " + details.Result.Country); } }
public Task <CallsInfo[]> LoadDataAsync() { var fileName = GlobalSettings.CompareMode ? @"C:\Users\a.poturaev\Desktop\hackaton\rasmetka_2.csv" : @"C:\Users\a.poturaev\Desktop\hackaton\calls_test.csv"; _logger.LogInformation("Загрузка звонков из csv"); var csvParserOptions = GlobalSettings.UseCommaDelimeter ? new CsvParserOptions(true, ',') : new CsvParserOptions(true, '|'); var csvMapper = new CsvUserDetailsMapping(); var csvParser = new CsvParser <CallsInfo>(csvParserOptions, csvMapper); var result = csvParser .ReadFromFile(fileName, Encoding.UTF8); var info = result.Select(x => { if (x.IsValid) { return(x.Result); } else { if (x.Error.ColumnIndex == 0) { _logger.LogError($"Parsing error! rowIndex {x.RowIndex}, columnIndex {x.Error.ColumnIndex}, error {x.Error.Value}"); return(null); } else { _logger.LogTrace($"Parsing error! rowIndex {x.RowIndex}, columnIndex {x.Error.ColumnIndex}, error {x.Error.Value}"); return(x.Result); } } }).Where(x => x != null).ToArray(); _logger.LogInformation("Закончили"); return(Task.FromResult(info)); }