TextFieldParser reads in CSV files. With it, we specify a delimiter string,
and then can read in the fields of every line in a loop.
We can use the TextFieldParser instead of string.Split.
We demonstrate the TextFieldParser.
Split
Tip:
To access TextFieldParser, go to Add Reference, and select Microsoft.VisualBasic.
Example
This short example uses the TextFieldParser.
You must assign the Delimiters property to a string array.
The delimiters tell the parser where fields end and new fields begin on a single line.
Further:
We show the ReadFields method, which returns null when the end of file condition is met.
And:
In the result, the array returned contains every field in its own element. We display the length.
Input file: csv.txt
a,b,c
d,e,f
gh,ij
Output
3 field(s)
3 field(s)
2 field(s)
and then can read in the fields of every line in a loop.
We can use the TextFieldParser instead of string.Split.
We demonstrate the TextFieldParser.
Split
Tip:
To access TextFieldParser, go to Add Reference, and select Microsoft.VisualBasic.
Example
This short example uses the TextFieldParser.
You must assign the Delimiters property to a string array.
The delimiters tell the parser where fields end and new fields begin on a single line.
Further:
We show the ReadFields method, which returns null when the end of file condition is met.
And:
In the result, the array returned contains every field in its own element. We display the length.
Program that uses TextFieldParser: C#
using System;
using Microsoft.VisualBasic.FileIO;
class Program
{
static void Main()
{
using (TextFieldParser parser = new TextFieldParser("C:\\csv.txt"))
{
parser.Delimiters = new string[] { "," };
while (true)
{
string[] parts = parser.ReadFields();
if (parts == null)
{
break;
}
Console.WriteLine("{0} field(s)", parts.Length);
}
}
}
}
Input file: csv.txt
a,b,c
d,e,f
gh,ij
Output
3 field(s)
3 field(s)
2 field(s)