はじめに
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のライブラリを探している方の参考になればうれしいです。
お知らせ
今月号のSoftware Designは「もっとTypeScriptの力を引き出そう」
JavaScriptの拡張言語でしょ?と思っているかたへ、Union型などTypeScriptの持つ秘めたる力を解説する特集となっています。
個人的には第2特集の「Ubuntuの現代的な使い方」がの方が気になりました。より詳しい内容は以下のリンクからご覧ください。
質問・要望 大歓迎です
「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。 質問・要望に、中の人ができる限り対応します。
使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。