C#
CSV
Unity
RFC4180

C# 用の CSV パーサーを書いた

ということで、


  • C# と .NET / Mono の機能のみを使っており、環境に依存しない

  • CSV の標準仕様である RFC 4180 に準拠している(たぶん)

  • CC0 なので無料かつ仕事で使ってもライセンス表記が要らない

CSV パーサーを書きました。

ネットを探すといろんなコード片や、NuGet にも CsvHelper はあるんですが、ライセンス表記不要かつダブルクオーテーションやその中のカンマ、改行を正しく解釈できるものは無かったのでエイヤっと作りました。

音ゲー作りとかにどうぞ。


ダウンロード

GitHub に最新版があります


使い方

以下の関数が List<List<string>> を返すので、その後は煮るなり焼くなり。もちろんこれ自体を切ったり漬け込んだりしても良いです。

CSVParser.LoadFromString(string data)

または

CSVParser.LoadFromPath(string path, Encoding encoding = null)

コンソールで読み込みをテストするデモはこちら

var sheet = CSVParser.LoadFromString(csvString);

var log = "";
foreach (var row in sheet)
{
log += "|";

foreach (var cell in row)
{
log += cell + "|";
}

log += "\n";
}

Debug.Log(log); // Unity
Console.WriteLine(log); // C#

良い開発ライフを!