SQL 데이터베이스에서 .csv 파일을 가져오고 있습니다. TextFieldParser를 사용하고 있습니다.마지막 줄을 구문 분석하지 않는 TextFieldParser
내 코드는 작업 테이블이 DataTable에 있습니다
TextFieldParser parser = new TextFieldParser(file);
//single file
//TextFieldParser parser = new TextFieldParser(CSVFolderPath + "\\" + file);
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
int k = 0;
while (!parser.EndOfData)
{
//Processing row
string[] fields = parser.ReadFields();
if (k != 0)
{
for (int i = 0; i < fields.Length; i++)
{
stationcode = fields[0].ToString().Substring(4, 5);
//if (fields[1].ToString().Substring(14, 8) == date)
//{
if (i == 0)
{
dr = workTable.NewRow();
dr[i] = fields[i].Substring(0, fields[i].Length - 4);
}
else if (i == 3)
{
dr[i] = Convert.ToDateTime(fields[i].ToString());
}
else if (i == 4)
{
dr[i] = Convert.ToDateTime(fields[i].ToString());
}
else if (i == 5)
{
dr[i] = Convert.ToInt32(fields[i].ToString());
}
else
dr[i] = fields[i].ToString();
if (i == 5)
{
workTable.Rows.Add(dr);
}
//}
}
}
k = k + 1;
}
parser.Close();
여기에있다.
코드 파읷을 잘 처리하십시오.
하지만 내 CSV 파일의 마지막 줄은 요약으로 사용됩니다. 일부 필드의 합계입니다.
데이터 테이블에 삽입하기 위해 해당 행을 포함하고 싶지 않습니다.
어떻게하면됩니까?
덕분에, 나는 구문 분석하는 마지막 행을 무시 하나 개의 신호를 뒀다. –