Unity 读取CSV文件操作

一种webgl端使用的,一种PC端的,按需使用。(切记CSV文件转换的时候需要查看是不是UTF-8格式,要不取出来会乱码的,查看方式是用记事本打开看一下是不是,不是就另存为一下就好了)

直接上代码吧 代码如下:

c# 复制代码
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.Networking;

public class GetExcelData : MonoBehaviour
{
    public TextAsset dataname;
    public string datanameS;
    // Start is called before the first frame update
    void Start()
    {
        StartCoroutine("GetData");
        //GetListsData();
    }
    IEnumerator GetData()
    {
        List<List<string>> csvData = new List<List<string>>();
        UnityWebRequest request = UnityWebRequest.Get(Path.Combine(Application.streamingAssetsPath+"/Data/", datanameS + ".csv"));
        yield return request.SendWebRequest();
        if (request.isNetworkError ||request.isHttpError)
        {
            Debug.Log("没有连接成功");
        }
        else
        {
            Debug.Log("连接成功");       
            string[] lineArray = request.downloadHandler.text.Split("\r"[0]);

            for (int i = 0; i < lineArray.Length; i++)
            {
                //去除CSV文件里面的换行符,如果没有就不需要
                Debug.Log(Regex.Replace(lineArray[i].ToString(), @"^\n", ""));            
            }
        }
    }

    public string[][] Arrays;
    public void GetListsData()
    {
        //读取csv二进制文件  resources里面的   第一种
        TextAsset binAsset = Resources.Load(dataname.text, typeof(TextAsset)) as TextAsset;
        //放在Assets文件下面的文件,拖上去的   第二种
        //TextAsset binAsset = dataname;

        //读取每一行的内容
        string[] lineArray = binAsset.text.Split("\r"[0]);

        //创建二维数组
        Arrays = new string[lineArray.Length][];

        //把csv中的数据储存在二位数组中
        for (int i = 0; i < lineArray.Length; i++)
        {
            Arrays[i] = lineArray[i].Split(',');
        }
        //第一行 第一列的数据
      Debug.Log (Arrays[0][1].ToString());
       

    }
    // Update is called once per frame
    void Update()
    {
        
    }
}

有需要会继续补充的!!!

相关推荐
SmalBox9 小时前
【节点】[SampleVirtualTexture节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox2 天前
【节点】[SampleTexture3D节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox3 天前
【节点】[SampleTexture2DLOD节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox5 天前
【节点】[SampleTexture2D节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox6 天前
【节点】[SamplerState节点]原理解析与实际应用
unity3d·游戏开发·图形学
Invincible_7 天前
3D Tiles 2.0 技术审查整理稿
程序员·unity3d
SmalBox7 天前
【节点】[SampleReflectedCubemap节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox8 天前
【节点】[SampleCubemap节点]原理解析与实际应用
unity3d·游戏开发·图形学
有中二病没中二命8 天前
Unity —— Animator 状态机事件通知(Animator 1-2)
unity3d