はじめに
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のライブラリを探している方の参考になればうれしいです。
【おすすめ】UdemyでC#のスキルを上げる
C#のスキルを上げるには、Udemyの動画講座がおすすめです。「C#で読みやすいコードを書く50の方法」「保守性の高いコードの書き方」など、脱初心者/スキルアップのための講座が多数公開されています。
1講座 2440円程度で返金保証あり。視聴期間無制限なので「自分のペースでコスパ良くスキルアップしたい」「失敗したくない」という方におすすめです。
Lenovo Web広告限定ストア
Macに負けないデザインのWindowsPCなら、「ThinkPad」がおすすめ。私も仕事とプライベートで10年以上使っています。以下のリンクで、割引情報やクーポン情報を入手できるので、ぜひ覗いてみてください。
質問・要望 大歓迎です
「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。 質問・要望に、中の人ができる限り対応します。
使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。