CsvReader. It is used internally for Row sorting. The following
example shows how to use for general purpose CSV parsing.
await using (FileStream stream = new FileStream("my.csv", FileMode.Open, FileAccess.Read))
{
await using (CsvReader reader = new CsvReader(stream, Encoding.UTF8))
{
reader.strict = true; // throw errors for bad formatting
List<String?>? row;
while ((row = await reader.readRow()) != null)
{
// Process data
Console.WriteLine("Row has {0} column(s)", row.Count);
}
}
}
CsvWriter. It is used internally for Row sorting. The following
example shows how to use for general purpose CSV writing.
await using FileStream stream = new FileStream("o.csv", FileMode.Create, FileAccess.Write);
await using CsvWriter writer = new CsvWriter(stream, Encoding.UTF8);
int counter = 0;
List<string> row = new List<string>();
for (int i = 0; i < 200; i++)
{
row.Clear();
for (int j = 0; j < 5; j++)
row.Add(counter++.ToString());
await writer.writeRow(row);
}