对CSV数据使用LINQ

本文关键字:LINQ 数据 CSV | 更新日期: 2023-09-27 18:00:15

只要数据中没有逗号,我的代码就可以很好地工作。

IEnumerable<Account> AccountItems = from line in File.ReadAllLines(filePath).Skip(1)
                let columns = line.Split(',')
                select new Account
                {
                    AccountName = columns[0],
                    BKAccountID = columns[1],
                    Brand = columns[2],
                    FirstOE = columns[3],
                    LastOE = columns[4]
                };

但是输出中包含带逗号的数据,并且当数据中有逗号时,用双引号将数据括起来。我不确定我是否还能用LINQ来做这件事。

Acme Health Care,{C2F9A7DD-0000-0000-0000-8B06859016AD},"Data With, LLC",2/4/2013,2/18/2013

对CSV数据使用LINQ

看看这个问题:使用C#读取CSV文件

TextFieldParser parser = new TextFieldParser(@"c:'temp'test.csv");
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
while (!parser.EndOfData) 
{
    //Processing row
    string[] fields = parser.ReadFields();
    foreach (string field in fields) 
    {
        //TODO: Process field
    }
}
parser.Close();

当.NET可以握住你的手时,就不需要重新发明轮子了。