1

csvファイルをソートするためのこのコードがあります。ファイルの最初の行に列の名前があるため、ファイルの最初の行を読み取りと並べ替えからスキップする方法。ファイルは次のようになります。

ID Name Surname Age Salary
1  John Asben   33  1000
2  Adam Smith   22  1200

コードは次のとおりです。

private void buttonSortSave_Click(object sender, EventArgs e)
{
    var sorted =
      File.ReadLines(@"C:\....dat.csv")
        .Select(line => new
        {
            SortKey = Int32.Parse(line.Split(',')[3]),
            Line = line
        })
        .OrderBy(x => x.SortKey)
        .Select(x => x.Line);
    File.WriteAllLines(@"C:\sorteddata.csv", sorted);
}
4

3 に答える 3

7
File.ReadLines(@"C:\....dat.csv")
.Skip(1)
于 2013-05-28T20:17:07.510 に答える
0

ファイル ヘルパーを使用します。

FileHelpers.CsvOptions options = new FileHelpers.CsvOptions("ImportRecord", ',', file);
options.HeaderLines = 0;        

FileHelpers.CsvEngine engine = new FileHelpers.CsvEngine(options);
//read header
engine.Options.IgnoreFirstLines = 0; 
DataTable header = engine.ReadStringAsDT(FileHelpers.CommonEngine.RawReadFirstLines(file, 1)); 
//read the rest of the data without the header
engine.Options.IgnoreFirstLines = 1;
DataTable data = engine.ReadFileAsDT(file); 
于 2013-05-28T20:22:25.597 に答える