从组合的csv文件创建数据表时出错

时间:2018-06-19 15:04:17

标签: c# csv datatable

我有一个winform应用程序,该应用程序读取csv文件并将其转换为数据表。 csv文件包含一列带有标题的列,以及多列包含实际数据的列。这是创建数据表的函数:

public DataTable CreateDataTable(char delimiter)
{
    DataTable dt = new DataTable();
    FileStream aFile = new FileStream("filepath_to_csv", FileMode.Open);
    using (StreamReader sr = new StreamReader(aFile, System.Text.Encoding.Default))
    {
        //read headers...
        string strLine = sr.ReadLine();
        string[] strArray = strLine.Split(delimiter);

        foreach (string value in strArray)
            dt.Columns.Add(value.Trim());

        DataRow dr = dt.NewRow();

        //read data...
        while (sr.Peek() > -1)
        {
            strLine = sr.ReadLine();
            strArray = strLine.Split(delimiter);
            dt.Rows.Add(strArray);
        }
    }
    return dt;
}

这很好。现在我有一堆的csv文件,需要组合到一个单独的csv文件中。因此,我制作了一个新的csv文件,并将第一个csv文件中的所有行复制到其中(标题行+数据行)。对于彼此的csv文件,我只是将数据行复制到新的csv文件中。当我尝试读取新文件时,出现错误消息:The column 'column_name' is not contained in the datatable.

所有csv文件都具有相同的结构。当我分别阅读每个csv文件时,它工作正常。为什么会出现这些错误?

0 个答案:

没有答案