в приведенном ниже коде я пытаюсь импортировать большой CSV-файл в Dataatable добавив первую строку в качестве заголовка.при импорте я пропускаю определенные заголовки, если они содержат определенные текстовые строки.Я хочу пропустить значение строки, если заголовок отсутствует. Пожалуйста, помогите.вот мой код.
private static DataTable GetDataTabletFromCSVFile(string csv_file_path)
{
DataTable csvData = new DataTable();
try
{
using (TextFieldParser csvReader = new TextFieldParser(csv_file_path))
{
csvReader.SetDelimiters(new string[] { "," });
csvReader.HasFieldsEnclosedInQuotes = true;
string[] colFields = csvReader.ReadFields();
foreach (string column in colFields)
{
if (column.Contains("code"))
{
//here i am skipping a column if it contains the string
continue;
}
else if (column.Contains("Q"))
{
continue;
}
else if (column.Contains("M"))
{
continue;
}
DataColumn datecolumn = new DataColumn(column);
datecolumn.AllowDBNull = true;
csvData.Columns.Add(datecolumn);
}
while (!csvReader.EndOfData)
{
string[] fieldData = csvReader.ReadFields();
//Making empty value as null
for (int i = 0; i < fieldData.Length; i++)
{
if (fieldData[i] == "")
{
fieldData[i] = null;
}
}
csvData.Rows.Add(fieldData);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
}
return csvData;
}