Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将行数/列数未知的CSV读入Unity数组

将行数/列数未知的CSV读入Unity数组
EN

Stack Overflow用户
提问于 2019-09-18 16:45:10
回答 2查看 895关注 0票数 1

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

目前,我可以将数据拆分成行,然后将每行拆分成组件。然后我将每一行添加到一个列表中。这一切似乎都运行得很好。

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

它当前在字符串newCSV =csvFile.ToArray()上失败;with error不能隐式地将类型' string‘转换为'string *,*’,所以我显然没有正确地声明一些东西-我就是不知道是什么!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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");
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-18 20:24:00

您可以使用此函数来获取2d数组。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
static public string[,] SplitCsvGrid(string csvText)
{
    string[] lines = csvText.Split("\n"[0]);

    // finds the max width of row
    int width = 0;
    for (int i = 0; i < lines.Length; i++)
    {
        string[] row = SplitCsvLine(lines[i]);
        width = Mathf.Max(width, row.Length);
    }

    // creates new 2D string grid to output to
    string[,] outputGrid = new string[width + 1, lines.Length + 1];
    for (int y = 0; y < lines.Length; y++)
    {
        string[] row = SplitCsvLine(lines[y]);
        for (int x = 0; x < row.Length; x++)
        {
            outputGrid[x, y] = row[x];

            // This line was to replace "" with " in my output. 
            // Include or edit it as you wish.
            outputGrid[x, y] = outputGrid[x, y].Replace("\"\"", "\"");
        }
    }

    return outputGrid;
}
票数 2
EN

Stack Overflow用户

发布于 2019-09-18 18:07:02

由于您的数据是以表的形式存在的,所以我强烈建议您使用DataTable,而不是像您目前用来建模/保存csv中的数据那样的2d数组。

这种数据结构提供了大量的预烘焙功能,这些功能将使处理数据变得更加容易。

如果采用此方法,则还可以使用this,它将使用CSV数据的结构将CSV数据复制到DataTable中,以创建DataTable。

它非常容易配置和使用。

只有一个小技巧,只要有可能,你应该总是尝试使用最适合你的任务的数据结构。想想你用来建造房子的数据结构和算法,虽然你当然可以使用螺丝刀敲钉子,但使用锤子要容易得多,效率也更高。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57997405

复制
相关文章
报表系统练手(3) -- DataTables的使用 - 未知列数的设置
这章节 主要 介绍项目实战中 datatables 的自定义列,包括表头,行数据等。
用户7293182
2022/01/17
1.4K0
报表系统练手(3) -- DataTables的使用 - 未知列数的设置
长度未知的数组大小
malloc 和 calloc都可以被用于申请堆上的空间。 malloc 和 calloc主要有两点不同:
小飞侠xp
2021/04/13
2.5K0
C#——数组维度/行数/列数/长度区别
Array.Rank 得到的是数组的维数,你这里的 arr 是个二维数组,所以结果是 2。
vv彭
2021/03/18
9380
ArcPy栅格裁剪:对齐多个栅格图像的范围、统一行数与列数
  本文介绍基于Python中ArcPy模块,实现基于栅格图像批量裁剪栅格图像,同时对齐各个栅格图像的空间范围,统一其各自行数与列数的方法。
疯狂学习GIS
2023/06/26
4790
ArcPy栅格裁剪:对齐多个栅格图像的范围、统一行数与列数
Python|Numpy读取本地数据和索引
numpy是一个在python中做科学计算的基础库,重在数值计算,也是大部分python科学计算库的基础库,多用于在大型,多维数组上执行数值运算。学习numpy是后面学习pandas的重要基础。Numpy用np.array()的方法就可以创建数组,常见的数据类型有int,float,bool。一般64位的电脑默认为int64,也可以通过dtype=‘ ’的方式来改变类型。数组的形状可以用(2,3)来表示,比如这个例子就表示这是一个2行3列的数组,用reshape()的方法可以更改数组的形状。数组的基本运算与矩阵的运算有点类似,但这不是今天的重点,今天主要讲的是numpy读取本地数据和索引。
算法与编程之美
2020/04/28
1.6K0
MySql中应该如何将多行数据转为多列数据
在 MySQL 中,将多行数据转为多列数据一般可以通过使用 PIVOT(也称为旋转表格)操作来实现。但是,MySQL 并没有提供原生的 PIVOT 操作。不过,可以使用 MySQL 的 GROUP BY 和 CASE WHEN 语句来自定义实现。
用户1289394
2023/08/22
1.9K0
MySql中应该如何将多行数据转为多列数据
python读取csv文件,将文件中第一列显示出来
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/15
2.2K0
剑指Offer(三十二)-- 将数组排成最小的数
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
秦怀杂货店
2022/02/15
3600
JAVA读取csv文件_java读取csv文件某一列
当读取的是一个简单的csv文件,即文件的列字段中不包含分隔符时,可以使用BufferedReader或者Scanner类去读取
全栈程序员站长
2022/11/16
3.8K0
python 根据csv表头、列号读取数据
设置index_col=0,目的是设置第一列name为index(索引),方便下面示例演示
lovelife110
2021/01/14
3.9K0
python 根据csv表头、列号读取数据
Unity編輯器案列
Unity最强大的地方之一是它扩展性非常强的编辑器。Unite Europe 2016上有一个视频专门讲编辑器编程的:
bering
2019/12/02
1.4K0
python pandas读取csv文件_pandas将数据写入csv
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/175441.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
5.9K0
python pandas读取csv文件_pandas将数据写入csv
pdfminer将pdf转为csv
之前随便做了一下中金所杯的金融知识大赛的试题,低分飘过。看到复试名单,突然有一个想法,这个是pdf,万一有人想分析一下每个区域的人的分布,那怎么办。
钱塘小甲子
2019/01/28
1.4K0
LeetCode 2206. 将数组划分成相等数对
如果可以将 nums 划分成 n 个数对,请你返回 true ,否则返回 false 。
Michael阿明
2022/11/27
3360
SQL 将多列的数据转到一列
如题。假设我们要把 emp 表中的 ename、job 和 sal 字段的值整合到一列中,每个员工的数据(按照 ename -> job -> sal 的顺序展示)是紧挨在一块,员工之间使用空行隔开。
白日梦想家
2020/09/08
5.5K0
jmeter的性能指标_jmeter性能测试指标分析
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说jmeter的性能指标_jmeter性能测试指标分析,希望能够帮助大家进步!!!
Java架构师必看
2022/07/12
1.6K0
jmeter的性能指标_jmeter性能测试指标分析
opencv 将内存中图片读入到mat矩阵
平常用的比较多的是 imread函数,直接将一个.jpg或者.bmp或者其他格式图片文件,读入到mat矩阵中。
战神伽罗
2019/07/22
4.1K0
文件操作
文本文件一般由单一特定编码的字符组成,如utf-8编码,内容容易统一展示和阅读,大部分文本文件都可以通过文本编辑软件和文字处理软件创建、修改和阅读,最常见的是txt格式的文本文件。
py3study
2020/01/16
1.7K0
点击加载更多

相似问题

PHP将csv列读入数组

41

将特定的csv列读入数组(Python)

10

在运行时确定行数和列数时,将数字表读入数组

21

列数未知的组和和CSV

30

数组的行数和列数

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文