using CsvHelper; using Microsoft.Analytics.Interfaces; using System; using System.Collections.Generic; using System.IO; using System.Text; namespace SomeNamespace { public class CustomExtractor : CsvExtractor { public override IEnumerable<IRow> Extract(IUnstructuredReader input, IUpdatableRow outputrow) { string someValue = "QRS"; using (var reader = new StreamReader(input.BaseStream)) using (var csvReader = new CsvReader(reader)) { while (csvReader.Read()) { if (csvReader.IsRecordEmpty()) continue; var tokens = csvReader.CurrentRecord; if (tokens[0].Contains("XYZ")) continue; if (tokens[0].Contains("AB") || tokens[0].Contains("BC")) { someValue = tokens[0]; continue; } var someColumn = tokens[0]; outputrow.Set(0, someColumn); yield return outputrow.AsReadOnly(); } } } } }