2

csvfile をロードする streamreader があります。問題は、無視したいデータの先頭に余分な行が 1 つあることです。

私は素晴らしいCSVReaderプロジェクトを使用していますが、

 csv.GetFieldHeaders(); 

常に最初の行を見ます。CSVReader のソース コードにアクセスして変更する代わりに、ストリームリーダー自体からこの最初の行を "削除" してから、csvReader に挿入する方が簡単だと思いました。これは可能ですか?

4

3 に答える 3

12

CSVReader コンストラクターに渡す前に、SR から行を読み取るだけです。例えば:

using (var sr = new StreamReader("data.csv")) {
    sr.ReadLine();
    using (var csv = new CsvReader(sr, true)) {
        // etc..
    }
}
于 2010-06-28T16:10:32.903 に答える
3

ReadLine()最も簡単な方法は、リーダーを に渡す前に自分自身を呼び出すことですCSVReader

于 2010-06-28T16:08:14.383 に答える
2

StreamReaderStreamReaderは仮想クラスであるため、テキストの最初の行をスキップすることを除いて (または型から継承することもできます)、すべての重要な機能を基になる に委譲する継承クラスを作成できますTextReader。が引数としてorをCSVReader取る場合、これは正常に機能するはずです。StreamReaderTextReader

于 2010-06-28T16:07:48.613 に答える