C# CsvHelperの使い方【現役プログラマーが伝授】

こんにちは、トミセン(@tomisenblog)です。

C#でCSVファイルの操作に便利なCsvHelperですが、

「CsvHelper って、全然情報無いから使えないよね。」
「CsvHelper って、どう使うの?」

やり方が分からないし、情報も見つからなくて疲れてしまったり、上手くいかなくて思ったより時間がかかってしまっていませんか。

今回はそんなお悩みを解決します。ずばり!
C# CsvHelper の使い方」についてまとめました。

 

コピペで使えるサンプルコードという近道

現場レベルのCsvHelperの実装サンプルを作りました。
CSVデータの取得から、入力チェック、モデル変換まで網羅しています。

5つのシステムで実証したコピペで使い回せる実装法
» 【CsvHelper マスター講座】を見る

目次

使い方

CSVの読み込み

CsvHelperを使ったCSVファイルの読み込みのやり方を一番簡単なところから説明しています。
「まだ、CsvHelperをよく知らない。」という方は、こちらからどうぞ。

あわせて読みたい
【C#】すごく簡単!CSVファイルを読み込む方法 CsvHelper こんにちは、トミセン(@tomisenblog)です。 プログラミングやると必ずといっていいほど、使うことになるCSVファイルだけど 「C#でCSVファイルを読み込むにはどうしたら...

Configuration

Configuration一覧

CsvHelperを使いこなすために知っておきたい「Configurationの設定」を一覧にしています。
公式サイトの翻訳ですが、毎回google翻訳するのも面倒だと思うので参考にしてください。

あわせて読みたい
CsvHelper Configurationの設定 CsvHelperって、C#でCSVの読み書きをするには非常に便利なんですが、イマイチ情報が足りない気がしています。 ConfigurationのPropertiesの設定情報はいつも調べるんで...

BadDataFound

フィールドに引用符が含まれているなど、不正なデータが含まれている場合に利用する設定です。
ConfigurationのBadDataFoundを使うとCsvHelper.BadDataExceptionをスローする代わりに、実行する独自の関数を設定できます。

あわせて読みたい
CsvHelper BadDataFoundとは? 「CsvHelperって、けっこう使われている割に情報が少ない・・・。」 「CsvHelperって、やりたいこと調べるのに時間がかかる・・・。」 こんなことを悩んでいませんか? ...

DetectColumnCountChanges

フィールドの異なる列数を検知するかどうかに利用する設定です。
設定されていた場合、異なる列数が見つかるとCsvHelper.BadDataExceptionがスローされます。

あわせて読みたい
CsvHelper BadDataExceptionとは? CsvHelperのConfigurationの設定や例外処理って、難しいですよね・・・。 今日は「CsvHelper.BadDataException」について紹介します。 【CsvHelper BadDataExceptionと...

MissingFieldFound

不足しているフィールドが見つかったときに利用する設定です。
MissingFieldFoundを使うとCsvHelper.MissingFieldExceptionをスローする代わりに、実行する独自の関数を設定できます。

あわせて読みたい
CsvHelper MissingFieldExceptionとは? CsvHelperのConfigurationの設定や例外処理って、難しいと思っています。 なかなか資料が無いですし、たまに見かけても英語ばかりですし・・・。 今日は「CsvHelper.Mis...

マッピング

CsvClassMapを使わない方法

CsvHelperのマッピングはCsvClassMapを使った方法の情報が多いですが、CsvClassMapを使わない方法の方が簡単です。
CsvClassMap使う方法・使わない方法もGenericsを使って汎用化したコードにしています。

あわせて読みたい
CsvHelper CsvClassMapを使わない方法 「CsvHelperって、CsvClassMapを使わないとマッピングできないよね?」 「CsvHelperのマッピングって、もっと簡単にできないのかな?」 こんなことを悩んでいませんか?...

マッピングしない読み込みの方法

CsvHelperはマッピングをする前提で作られていますが、独自の入力チェックをなどを行いたい場合は、マッピングしない読み込みをすることもあります。
読み込んだデータをDictionaryString[]で取得する方法を解説しています。

あわせて読みたい
CsvHelper マッピングしない読み込みの方法 こんにちは!トミセンです。こんにちは、トミセン(@tomisenblog)です。 C#でCSVの読み込みに便利なCsvHelperですが、 「マッピングしない読み込みってどうやるの?」 「...

DateTime型(日付型)に変換

CSVファイルの日付のデータをDateTime型(日付型)にマッピングする方法です。
難しいことを書く必要はなくて、簡単な設定で変換できます。

あわせて読みたい
CsvHelper DateTime型(日付型)に変換してマッピングする方法 こんにちは、トミセン(@tomisenblog)です。 C#でCSVの読み込みに便利なCsvHelperですが、 「DateTime型のマッピングってどうやるの?」 「DateTime型のマッピングって、...

特定の値をnullとして扱う

CSVファイルの特定の値をnullとしてマッピングする方法です。
独自のメソッドを書く必要はありません。簡単な設定で変換できます。

あわせて読みたい
CsvHelper マッピングで特定の値をnullとして扱う方法 こんにちは、トミセン(@tomisenblog)です。 C#でCSVの読み込みに便利なCsvHelperですが、 「特定の値をnullとしてマッピングできないの?」 「nullのマッピングって、IT...

まとめ

CsvHelperって、すごく便利なので好きなツールだったりします。

「情報少ないな。もったいないな。」と思っていたので、まとめてみました。何かの役にたつと嬉しいです。

それでは、また。

こちらの記事も読まれています!


よかったらシェアしてね!
目次
閉じる