将CSV列解析为数组 - 处理

时间:2014-09-13 20:44:01

标签: java processing

我试图通过LoadTable打开一个带有Processing 2的CSV,然后将一个列解析为一个数组。

到目前为止,我有这个:

Table table;
void setup() {
table = loadTable("random.csv", "header");

如果我这样做:

for (TableRow row : table.rows()) {
    int nums = row.getInt("Column1");
    println(nums);
    }

它会显示我的表中的所有值。 我想现在把它存储到一个数组......例如int []

任何帮助?

2 个答案:

答案 0 :(得分:1)

只需创建数组并将其存储在其中:)

    int size = table.rows().size();
    int[] array = new int[size];        
    int i = 0;
    for (TableRow row : table.rows()) {
        int nums = row.getInt("Column1");
        println(nums);
        array[i] = nums;
        i++;
    }

答案 1 :(得分:0)

也可以使用getIntColumn()在一行中完成:int[] num = table.getIntColumn("Column1")

所以也许它甚至没有必要,因为你可以做table.getIntColumn("id")[10]

之类的事情

这是一个正在运行的例子:

//building a sample table
//not your case...
Table table;
TableRow[] someRows = new TableRow[40];

void setup() {

  table = new Table();

  table.addColumn("id");

  for (int i=0; i < someRows.length; i++) {
    someRows[i] = table.addRow();
    someRows[i].setInt("id", i);
  } 

  ///


  //here :) one line.
  int[] ids = table.getIntColumn("id");


  println(ids);

  // or direct approach
  println("without intermediary Array: row 10 = " + table.getIntColumn("id")[10]);
}