6

別のシステムからエクスポートされているCSVファイルがあり、列の順序と定義が変更される可能性があります。FileHelpersはcsvファイルの読み取りに最適であることがわかりましたが、アプリケーションをコンパイルする前に列の順序を知らない限り、FileHelpersを使用できないようです。タイプされていない方法でFileHelpersを使用できるかどうかを知りたいです。現在、私はファイルを読み取るためにそれを使用していますが、それから私が手作業で行っている他のすべては、クラスを持っています:

[DelimitedRecord(",")]
public class CSVRow
{
    public string Content { get; set; }
}

これは、各行が内Contentにあることを意味します。これは、行を分割するなどの理由で問題ありませんが、ファイル内に固有のコンマが原因でこのメソッドに問題が発生しているため、次のようになります。

"something",,,,0,,1,,"something else","","",,,"something, else"

`"something、else "にカンマがあり、それが分割されるため、この文字列のカンマでの単純な分割は機能しません。明らかに、ここでFileHelpersのようなものが非常に便利であり、これらの値を解析し、引用符を考慮に入れます。したがって、既知の列定義がなくても、または少なくともcsv文字列を渡して値のリストを取得できなくても、FileHelpersをこのように使用することは可能ですか、またはこれを行う優れたライブラリはありますか?

4

1 に答える 1

4

実行時の列の順序と定義がわかっている(または推測できる)場合は、FileHelpersのRunTimeレコードを使用できます。

それ以外の場合は、CSVライブラリに関する多くの質問があります。たとえば、C#でCSVファイルを読み取る

編集:更新されたリンク。オリジナルはここにアーカイブされています

于 2012-10-31T15:55:48.987 に答える