gpt4 book ai didi

c# - 将未知数量的行/列的 CSV 读入 Unity 数组

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:22 25 4
gpt4 key购买 nike

我想要一个从 CSV 文件生成的二维数组,行数/列数未知。列数基于标题数据是固定的。我需要能够将其处理为跨行和向下列的网格,因此需要数组。

目前,我可以将数据拆分成行,然后将每一行拆分成组件。然后我将每一行添加到列表中。这一切似乎工作正常。

我不能做的是将字符串数组列表转换为二维数组。

目前在 string[,] newCSV = csvFile.ToArray(); 行失败错误无法将类型 'string[][]' 隐式转换为 'string[ * , * ]' 所以我显然没有正确声明一些东西 - 我只是不知道是什么!

List<string[]> csvFile = new List<string[]>();

void Start()
{
// TODO: file picker
TextAsset sourceData = Resources.Load<TextAsset>("CSVData");
if (sourceData != null)
{
// Each piece of data in a CSV has a newline at the end
// Split the base data into an array each time the newline char is found
string[] data = sourceData.text.Split(new char[] {'\n'} );

for (int i = 0; i < data.Length; i ++)
{
string[] row = data[i].Split(new char[] {','} );
Debug.Log(row[0] + " " + row[1]);
csvFile.Add(row);
}

string[,] newCSV = csvFile.ToArray();

} else {
Debug.Log("Can't open source file");
}

最佳答案

由于您的数据采用表格形式,我强烈建议使用 DataTable而不是像您当前使用的二维数组来建模/保存来自 csv 的数据。

此数据结构附带大量预制功能,可让您更轻松地处理数据。

如果你选择这条路线,你还可以使用 this这将使用 CSV 数据的结构将 CSV 数据复制到 DataTable 中以创建 DataTable。

配置和使用非常简单。

只是一个小提示,只要有可能,您应该始终尝试使用最适合您的任务的数据结构。将您使用的数据结构和算法想象成用于 build 房屋的工具,虽然您当然可以使用 Screwdriver 敲钉子,但使用锤子更容易和更有效。

关于c# - 将未知数量的行/列的 CSV 读入 Unity 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57997405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com