public void CustomCsvParserReadFromFile() { CsvParserOptions options = new CsvParserOptions(true, ';'); CustomCsvParser customCsvParser = new CustomCsvParser(options); var stringBuilder = new StringBuilder() .AppendLine("FirstName;LastName;BirthDate") .AppendLine(" Philipp;Wagner;1986/05/12 ") .AppendLine("Max;Mustermann;2014/01/01"); #if NETCOREAPP1_1 var basePath = AppContext.BaseDirectory; #else var basePath = AppDomain.CurrentDomain.BaseDirectory; #endif var filePath = Path.Combine(basePath, "test_file.txt"); File.WriteAllText(filePath, stringBuilder.ToString(), Encoding.UTF8); var result = customCsvParser .ReadFromFile(filePath, Encoding.UTF8) .ToList(); Assert.AreEqual(2, result.Count); Assert.AreEqual("Philipp", result[0].Tokens[0]); Assert.AreEqual("Wagner", result[0].Tokens[1]); Assert.AreEqual("Max", result[1].Tokens[0]); Assert.AreEqual("Mustermann", result[1].Tokens[1]); }
public static ParallelQuery <TokenizedRow> ReadFromFile(this CustomCsvParser csvParser, string fileName, Encoding encoding) { if (fileName == null) { throw new ArgumentNullException(nameof(fileName)); } var lines = File .ReadLines(fileName, encoding) .Select((line, index) => new Row(index, line)); return(csvParser.Parse(lines)); }