将csv字符串转换为字典

时间:2014-09-15 10:27:35

标签: c# csv dictionary

我有一个像这样的字符串。将此字符串设为x。 现在我想将它添加到key = name和value = date的字典中。 问题是这似乎是csv中的csv。如果这是一个文本文件,我可以用readline()轻松完成它。但由于这是一个文本字符串,我想不出办法。我完全控制字符串出现的方式(使用php生成)。所以我可以放另一个字符而不是\ n,如果这是一个更有效的方法。

感谢。

Mark,2014-09-15 14:31:43 \n
John,2014-09-15 14:38:29 \n
Kennedy,2014-09-15 13:49:13 \n
Jolly,2014-09-15 13:49:18 \n
Diana,2014-09-15 13:49:22 \n
Henry,2014-09-15 14:33:21 \n

1 个答案:

答案 0 :(得分:1)

您可以使用所需的任何分隔符拆分任何字符串。例如,在您的字符串中,您的分隔符为" \ n",因此您可以:

var csv = "Mark,2014-09-15 14:31:43 \nJohn,2014-09-15 14:38:29 \nKennedy,2014-09-15 13:49:13 \nJolly,2014-09-15 13:49:18 \nDiana,2014-09-15 13:49:22 \nHenry,2014-09-15 14:33:21 \n";

var csvItems = csv.Split('\n');
var dictionary = new Dictionary<string, DateTime>();

foreach (var item in csvItems)
{
    if (!string.IsNullOrWhiteSpace(item))
    {
        var itemParts = item.Split(',');
        dictionary.Add(itemParts[0], Convert.ToDateTime(itemParts[1]));
    }
}