【Unity】CSVファイルを読み込む方法

こんにちは。

今日はUnityでCSVファイルを読む方法をご紹介します。

UnityではResourcesフォルダを作成することでその中のファイルにスクリプトからアクセスすることが可能になります。

Assetsの下にResourcesフォルダを追加します。

その中にcsvファイルを追加し以下のコードを実行すると読み込めます。

public class CSVReader : MonoBehaviour
{
    TextAsset csvFile; // CSVファイル
    List<string[]> csvDatas = new List<string[]>(); // CSVの中身を入れるリスト;
    public Vector3 position;
    public Quaternion rotation;

    private void Start()
    {
        csvFile = Resources.Load("point") as TextAsset; // Resouces下のCSV読み込み
        StringReader reader = new StringReader(csvFile.text);

        // , で分割しつつ一行ずつ読み込み
        // リストに追加していく
        while (reader.Peek() != -1) // reader.Peaekが-1になるまで
        {
            string line = reader.ReadLine(); // 一行ずつ読み込み
            csvDatas.Add(line.Split(',')); // , 区切りでリストに追加
        }
    }
}

取得したデータにアクセスしたい場合には、以下の通りです。

csvDatas[0][0] //行、列で指定する。

おわり。