はじめに
JSONやYAMLなど、いろいろなデータ形式が増えてきましたが、まだまだCSVを扱う(しかない)方は多いんじゃないでしょうか?
今回は、C#で使えるオススメCSVライブラリ3選を紹介します。
- ① CsvHelper
- ② ServiceStack.Text
- ③ Csv
※ DL数、Star数は記事作成時点のものです。
① CsvHelper
概要
NuGetでのダウンロード数がダントツで多く、一番有名なライブラリです。公式ページでは「高速・使いやすい・柔軟」を売りにしています。
読み込みデータと同じ形式のクラスを作成すると、自動でマッピングしてくれる機能があります(別の方法もあり)。
公式サイトに説明やサンプルが多く、解説サイトも多いです。
- 使用者がダントツに多い。
- 同形式のクラスを作ると自動マッピングしてくれる。
- 公式の説明・解説サイトが多い。
ライセンス・人気度
ライセンス | MS-PL / Apache License, Ver.2.0 (商用フリー ) |
.NETバージョン | 2.3 ~ |
NuGet ダウンロード数 | 39.9M |
GitHub Star数 | 3.1k |
公式(プロジェクト)ページ
https://joshclose.github.io/CsvHelper/
② ServiceStack.Text
概要
ServiceStackという、WebServiceのフレームワークに含まれるライブラリです。NuGetで個別にダウンロードすることができます。
伝統的な「CSVの読み書き」というより、「シリアライズ/デシリアライズ」という言葉が合う気がします。
JSON・JSV・CSVに対応しているため、Web系で使われる方や、CSVと一緒にJSON・JSVを使われる方向けかと思います。
- JSON・JSVにも対応
- 「読み込み」ではなく「シリアライズ」なライブラリ
- Web系、JSONなどを一緒に使いたい人向け
ライセンス・人気度
ライセンス | AGPL |
.NETバージョン | 4.5~ |
Nuget ダウンロード数 | 14.8M |
GitHub Star数 | 1.2k |
公式(プロジェクト)ページ
https://github.com/ServiceStack/ServiceStack.Text
③ Csv
概要
2020年10月末に公開された新しいライブラリです。
公式にも「Really Simple~」と記載があるように、使い方はとてもシンプルです。配列に読み込んだ後、要素を数字・カラム名で指定することで、使用できます。
「行のスキップ」や「トリム」などの便利オプションも備えているので、
サクっと使うなら一番良いライブラリだと思います。
- シンプルで分かりやすい
- スキップやトリムなど便利機能もあり
- サクッと使うならコレ
※ 別途Csvの使い方を掘り下げた記事を作成しました。
一番下の「まとめ」をご覧ください。
ライセンス・人気度
ライセンス | MIT |
.NETバージョン | 2.0 ~ |
Nuget ダウンロード数 | 263k |
GitHub Star数 | 0.24k |
公式(プロジェクト)ページ
https://github.com/stevehansen/csv/
まとめ
C#で使えるCSVのライブラリを紹介しました。
昨今いろいろなデータ形式は増えてきましたが、システムの都合などで、まだまだCSVの読み書きが必要!という方も多いと思います。そういった方の参考になればうれしいです。
個人的にサクッと使える「Csv」が気になったので、
基本的な使い方や、便利オプションを掘り下げた記事を作成しました。
「Csv」について興味のある方は、以下の記事も合わせてご覧ください。
CSVのライブラリを探している方の参考になればうれしいです。
Lenovo Web広告限定ストア
そろそろ、Macに負けない機能的なデザイン、フルカスタマイズしたPCが欲しい!とい方には「ThinkPad」や「IdeaPad」がおすすめです。Lenovo製品は、購入場所やクーポンで大きく値段が変わります。普通に買ってしまうともったいないので、以下のリンクの割引価格やクーポン情報を使ってください。
C#がよく分からないんだけど…という方へ
「プログラミングを初めてみたい」「専門書を読んだけど分からなかった」という方に以下の書籍をオススメします。
「知識ゼロから始める人」「一度挫折した経験がある人」向けに書かれた「とても分かりやすい」というレビューが多い一冊です。
超初心者~中級の内容を「利用頻度の高いものに絞って」解説していて、時間のない人でも効率的に学習することができます。
高額なことが多い専門書の中でもコスパのいい本なので、ぜひこの本で「C#のライブラリをスラスラ使いこなせる自分」を目指してみてください。
応援・要望お待ちしてます
ブログを見ていて「この辺を詳しく知りたい」「このライブラリの使い方を知りたい」「こんなことで困ってる」...etc があれば、コメント・問い合わせ・Twitterで教えてください。質問・ご要望に合わせて解説記事を作ります。
ブログを気に入っていただけたり、「応援してもいいよ」という方がいたら、ブログやSNSでの紹介をお願いします。 あたたかい応援は、中の人の更新の大きな励みになります。