将CSV转换为杰森文件时如何解决错误

时间:2019-02-08 17:01:13

标签: c# .net json csv

我已经从该论坛上的一篇帖子中引用了代码,但是遇到了错误

enter image description here

我的csv数据为

enter image description here

如何进行?

1 个答案:

答案 0 :(得分:0)

在可以将数据添加到DataTable中之前,必须添加所需的列。您也可以在使用dt.Columns.Contains...添加列之前检查该列是否存在。如果您的CSV文件包含标题行,则可以使用该行为列提供标题文本。

类似的东西(可以编译但实际上无法运行):

var dt = new DataTable();
var rows = csvfile.Split('\n');

// Add the columns
var colHeaders = rows[0].Split(',');
foreach(var header in colHeaders)
{
    dt.Columns.Add(header, typeof(string));
}

// now add the data rows
foreach(var row in rows.Skip(1))
{
    if(!string.IsNullOrEmpty(row))
    {
        var data = row.Split(',');
        foreach(var d in data)
        {
            dt.Rows.Add(d);
        }
    }
}

Internet上还有其他一些示例,它们专门用于将CSV文件读入数据表(here's one)。