使用xls,csv或其他types的文件在Objective-C中创build一个浮点数组
大家好,我在整个编程方面都很新,但是我非常喜欢。 对不起,如果我没有足够的细节
所以非常多,我有excel文件有列数字(我不能张贴图片,因为我还没有10名声誉。
我一直在寻找几天,我还没有真正find答案。 我想知道是否有一种方法,我可以从文件创build多个数组 – 我知道我们不能像matlabmatrix – 有每个列中的数字,即
float numbers[] = {1.3, 1.2, 4.2};
或者用数字创buildexcel文件(iWork版本的excel),然后将数字文件导入到xcode项目中,并从那里创build数组
我的问题是,有大约一千个数字,所以一个一个的复制是非常耗时的
对不起,如果这是混乱,请让我知道如果还有什么我应该添加为信息
即使你是初学者,也有两种简单的方法可以做到这一点。
打开MS Excel,input你的值,将excel文件保存为.CSV文件。 然后在github上抓一个像这样的objective-c CSV转换器,就完成了。
第二种方法,你可以声明一个数组数组(例如,'float matrix [5] [5];'),然后使用它,但是你认为合适。
我已经在独立的项目中完成了两个build议,并且都很好地工作。 我使用了第一个方法来创build一个15页的excel文档,我需要在我的应用程序中使用这个文档,第二个方法是在另一个需要不断更改2d数组内容的应用程序中使用的。 一旦你声明'浮动matrix[5] [5]'这是一个5×5的matrix(又名表),你可以使用它,但是你想要的。 你可以让第一个数组成为列,第二个数组成为行。
你的意思是从.csv文件生成Objective-C源代码? 一种方法是使用像Perl这样的脚本语言:
#!/usr/bin/perl use warnings; use strict; my @numbers = (); while (<>) { chomp; push @numbers, $_; } my $numbers = join(', ', @numbers); print qq(float numbers[] = {$numbers};\n);
这假定你的.csv文件(比如foo.csv)在第一列中有数字,而没有其他的。 如果该文件包含:
1.5 2.5 18842984 -4
你把它pipe到脚本(在这个例子中是foo.pl):
cat foo.csv | perl foo.pl
它会输出这个:
float numbers[] = {1.5, 2.5, 18842984, -4};
这就是你想要做的?