CSV

【まとめ】C#で使えるおすすめCSVライブラリ3選

はじめに

JSONやYAMLなど、いろいろなデータ形式が増えてきましたが、まだまだCSVを扱う(しかない)方は多いんじゃないでしょうか?

今回は、C#で使えるオススメCSVライブラリ3選を紹介します。

おすすめ 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のライブラリを探している方の参考になればうれしいです。

C#がよく分からない・・・

プログラミング初心者の方や、C#の文法や使い方がまだよく分からないという方には、以下の書籍がオススメです。
VisualStudioの使い方や、よく使う文法に絞って初心者でも分かりやすいように解説されています。レビューでも「分かりやすい」という意見が多い書籍です。
有名な「独習 C#」などに抵抗がある方は、値段も3千円程度とお手ごろなので、この本で勉強してみてはどうでしょうか。

プログラミングの知識・経験がなくてもC#の基本文法を身につけることができる

応援・要望お待ちしてます

ブログを見ていて「この辺を詳しく知りたい」「このライブラリの使い方を知りたい」「こんなことで困ってる」...etc があれば、コメント・問い合わせ・Twitterで教えてください。質問・ご要望に合わせて解説記事を作ります。

ブログを気に入っていただけたり、「応援してもいいよ」という方がいたら、ブログやSNSでの紹介をお願いします。 あたたかい応援は、中の人の更新の大きな励みになります。

ABOUT ME
えす
現役のソフトウェアエンジニアです。 C++ C# Python を使ってます。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です