Reading a tab delimited text file into DataTable
PS: You need to add reference to Microsoft.VisualBasic also import the namespace using Microsoft.VisualBasic.FileIO;
DataTable records = new DataTable("records");
var textReader = new TextFieldParser(@"E:\CSV.txt");
using (textReader)
{
textReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited;
textReader.Delimiters = new String[] { "\t" };
List currentRow = new List();
bool IsFirst = true;
int rowCount = 0;
while (!textReader.EndOfData)
{
try
{
Console.WriteLine("reading line: " + (rowCount++));
currentRow = textReader.ReadFields().ToList();
if (IsFirst)
{
IsFirst = false;
//add columns
foreach (string col in currentRow)
{
records.Columns.Add(col);
}
}
else
{
DataRow row = records.NewRow();
for (int i = 0; i < currentRow.Count; i++)
{
row[i] = currentRow[i];
}
records.Rows.Add(row);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
PS: You need to add reference to Microsoft.VisualBasic also import the namespace using Microsoft.VisualBasic.FileIO;