如何解析作为参数传递给方法的CSV

时间:2013-09-23 12:55:24

标签: c# linq csv memorystream

我有一个包含CSV文件内容的字符串 我需要将这些值提取到我的对象中 我没有从CSV文件中获取CSV,而是将其作为参数(数据)接收 并在exmple they use file.csv中解析数据 我试图在MemoryStream中加载它,但没有运气。

public string methos(string data)
        {
            CsvFileDescription inputFileDescription = new CsvFileDescription
            {
                SeparatorChar = ',',
                FirstLineHasColumnNames = true
            };

            CsvContext cc = new CsvContext();

            MemoryStream mStream = new MemoryStream(System.Text.ASCIIEncoding.Default.GetBytes(data));

            IEnumerable<Data datas=
            cc.Read<Data>(mStream, inputFileDescription);

另外,我不知道我是否选择了一个好的框架来解析CSV到自定义对象,但对我而言,重要的是值可以有逗号并且框架可以处理它。

1 个答案:

答案 0 :(得分:5)

LINQtoCSV只接受StreamReader,而不是流。试试这个:

        using (MemoryStream mStream = new MemoryStream(System.Text.ASCIIEncoding.Default.GetBytes(data)))
        using (StreamReader reader = new StreamReader(mStream))
        {
            IEnumerable<Data> datas = cc.Read<Data>(reader, inputFileDescription);
        }