CSV-C# PR

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

お知らせ

今月号の『Software Design』はドメイン駆動設計(DDD)。実例を交えたDDDの手法の解説が特集されています。

編集:Software Design 編集部
¥1,562 (2024/03/13 12:59時点 | Amazon調べ)

質問・要望 大歓迎です

「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。 質問・要望に、中の人ができる限り対応します。

使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。

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

COMMENT

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