Das Eingangsarray ist länger als die Spalten in dieser Tabelle
Posted: 06 Apr 2025, 00:14
Ich habe einen csv_log_reader < /code>: < /p>
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)
{
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 == "")
{
fieldData = null;
}
}
csvData.Rows.Add(fieldData);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return csvData;
< /code>
Für die erste CSV -Datei habe ich 9 Header. Für die zweite CSV -Datei habe ich 10 Header, aber der 10. Header ist null. Für die zweite Datei wird eine Ausnahme geworfen: < /p>
Eingabebucharray ist länger als die Anzahl der Spalten in dieser Tabelle. Wie mache ich das nur für den 10. Header?
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)
{
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 == "")
{
fieldData = null;
}
}
csvData.Rows.Add(fieldData);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return csvData;
< /code>
Für die erste CSV -Datei habe ich 9 Header. Für die zweite CSV -Datei habe ich 10 Header, aber der 10. Header ist null. Für die zweite Datei wird eine Ausnahme geworfen: < /p>
Eingabebucharray ist länger als die Anzahl der Spalten in dieser Tabelle. Wie mache ich das nur für den 10. Header?