예제 #1
0
        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);
            }
        }
예제 #2
0
        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));
        }