📓

UnityでCSVファイルを書き出す方法

2021/08/10に公開

結論

自作しました
https://github.com/zawa-works/Table-Unity

はじめに

Unityで実験システムを作ってCSVファイルを書き出そうとしたのですが,なんとC#にはCSVファイルを書き出すメソッドがなく自分で作るしかない.

毎回個々人でこういうのを作るのが大変だと思ったので,自作しました.

使い方

ProcessingTableクラスを参考にしています.
https://processing.org/reference/Table.html

こちらのAssets/Scripts/Tableの中にあるTable.csTableRow.csをダウンロードしてください.

サンプル


Table table;

void Start(){
	table = new Table();
	
	//ヘッダーを作成
	table.AddColumn("username");
	table.AddColumn("intValue");
	table.AddColumn("floatValue");
}

void Update(){
    TableRow newRow = new TableRow();
    newRow.SetString("username", "jon");//String型を追加
    newRow.SetInt("intValue", Random.Range(0, 10));//int型を追加
    newRow.SetFloat("floatValue", Random.Range(0.0f, 10.0f));//float型を追加
    table.AddRow(newRow);
    
    //スペースキーを押すと
    //Assetsのなかのdataフォルダに追加される
    if(Input.GetKeyDown(KeyCode.Space))table.Save("data/hoge.csv");
}

おわりに

現状は書き出すことしかできず,読み込むことはできません.

このコードで我慢ならない人は自作して,ぜひ公開してください.

今回のような拙いコードだとしても、作るのが大変なコードを共有する動きが増えれば幸いです.

Discussion