使用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}; 

这就是你想要做的?