2

csv から 2 つの列を読み込もうとしていますが、行は「;」で区切られています。

メソッドを使用してstram.ReadLineいますが、問題は一部のセルに改行文字が含まれていることです。そのため、メソッドReadLineはそのセルをいくつかのセルに分割します。これを回避するにはどうすればよいですか? このモデルを単純化するために、100 行の 1 つの列があるとしますが、中には長いテキストと改行が含まれているものもあります。これを 100 行以上に変更するにはどうすればよいですか?

StreamReader aFile = new StreamReader("C:\\dev\\csvReplacment\\szablonDE.csv");


            var dane = new List<string>();

            string line;

            while ((line = aFile.ReadLine()) != null)
            {
                dane.Add(line);
            }
            aFile.Close();
4

3 に答える 3

1

Nuget の既存の CSV パーサーを使用します。Nuget の "CSVTools" ( http://www.nuget.org/packages/CsvTools/ ) はこれを処理し、非常に高速であり、簡単に解析できるように強力な .NET 型へのバインディングをサポートします。

http://blogs.msdn.com/b/jmstall/archive/2012/03/24/opensource-csv-reader-on-nuget.aspx

使い方はこんな感じです。

var dt = DataAccess.DataTable.New.Read(@"c:\temp\test.csv"); 
foreach (Row row in dt.Rows())  { } 
于 2014-04-27T04:23:19.983 に答える