4

データにコンマが含まれていない限り、私のコードはうまく機能します。

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
4

1 に答える 1

7

この質問を見てください: 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 があなたの手を握ることができるとき、車輪を再発明する必要はありません。

于 2013-02-19T19:57:42.410 に答える