なんかシンプルでちゃんと動いてクオーテーションマークをちゃんと処理できてライセンスを書かなくてよくて C# オンリーで Unity からも使いやすい CSV パーサーなかったので書いた。きっとググり力が足りないだけであるんだろうけど…探すのを諦めた。https://t.co/ZKtcKnkp5v
— ゆーとIPD62mm@VRファイルマネージャー (@yutoVR) October 24, 2018
ということで、
- C# と .NET / Mono の機能のみを使っており、環境に依存しない
- CSV の標準仕様である RFC 4180 に準拠している(たぶん)
- CC0 なので無料かつ仕事で使ってもライセンス表記が要らない
CSV パーサーを書きました。
ネットを探すといろんなコード片や、NuGet にも CsvHelper はあるんですが、ライセンス表記不要かつダブルクオーテーションやその中のカンマ、改行を正しく解釈できるものは無かったのでエイヤっと作りました。
音ゲー作りとかにどうぞ。
ダウンロード
使い方
以下の関数が 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#
良い開発ライフを!