サービス業で働く社内SEのブログ

技術メモを適当にかいつまんで記載します

【C#】CsvHelperを使ってTSVファイルを読み込む

TSVファイルを読み込んでDBに突っ込むというバッチアプリを作りました。
その時に使ったライブラリのメモです。

基本的な使い方に関しては例のごとくかずきさんのブログを引用させていただきます。

blog.okazuki.jp

公式のページにもHowToが載っていますので、そちらを見るのもよいです。

joshclose.github.io

で、名前の如くCSVファイルを読み込んでクラスにマッピングする事を目的に
作られているライブラリですが、TSVももちろんいけちゃいます。
使い方も簡単で、DelimiterプロパティにTSV文字をセットするだけです。

using (var tsv = new CsvHelper.CsvReader(sr))
{
    // CsvHelperの設定。上から順に[ヘッダ有無の設定][区切り文字の設定][Mappingするクラスの設定]
    tsv.Configuration.HasHeaderRecord = false;
    tsv.Configuration.Delimiter = Constants.Delimiter.Tab;
    tsv.Configuration.RegisterClassMap<T1>();

    // Mapping処理
    var ret = tsv.GetRecords<T2>();
}

ちょっとExceptionの名前忘れちゃいましたが
マッピング中に例外が起きると、例外が起きた行/列のExceptionを返してくれますし
非常に使いやすいライブラリでした。