File upload 处理加载表数据

File upload 处理加载表数据,file-upload,datatable,processing,File Upload,Datatable,Processing,我有一个文本文件“celldata.txt”,其中包含一个非常简单的数据表 1234 56778 9101112 1234 2 3 4 5 问题在于访问某一列和某一行的数据时。 我的方法是使用loadTable加载 Table table; int numCols; int numRows; void setup() { size(200,200); table = loadTable("celldata.txt","tsv"); numRows=table.getRowCount();

我有一个文本文件“celldata.txt”,其中包含一个非常简单的数据表

1234
56778
9101112
1234
2 3 4 5

问题在于访问某一列和某一行的数据时。 我的方法是使用loadTable加载

Table table;
int numCols;
int numRows;

void setup() {
 size(200,200);
 table = loadTable("celldata.txt","tsv");
 numRows=table.getRowCount();
 numCols=table.getColumnCount();

}

void draw() {
 background(255);
 fill(0);
 text(numRows +" "+ numCols,100,100);  // Check num of cols and rows
 println(table.getFloat(0,0));
}
问题1:当我这样做时,它说行数是5,列数只是1。为什么不是5 x 4

问题2:为什么table.getFloat(0,0)是“NaN”而不是数据的第一个元素

我想稍后使用一个更大的矩阵,用getFloat(I,j)之类的东西访问某些元素(double类型),并能够遍历所有元素。
使用与我相同的示例数据,是否有人可以帮助我了解代码的错误以及如何访问文本文件的数据?我应该使用loadTable以外的其他方法吗?

您已经告诉Processing,该文件包含制表符分隔值(通过使用
“tsv”
选项),但您的文件包含空格分隔值

由于文件不包含任何选项卡,因此它将整行作为单个值读取。因此表的
0,0
位置是
1234
,它不是一个数字-因此是
NaN
。这也是为什么它认为您的表只有一列

您应该修改
celldata.txt
文件,使其实际上由制表符而不是空格分隔:

1   2   3   4
5   6   7   8
9   10  11  12
1   2   3   4
2   3   4   5
您也可以用逗号分隔它们,然后使用
“csv”
选项


如果仍然有问题,可以通过添加
saveTable(表,“data/new.csv”)
setup()
函数的末尾,然后查看该文件。它将是一个用逗号分隔的值列表,因此您可以准确地看到Processing认为表中的单元格所在的位置。

您已经告诉Processing,该文件包含选项卡分隔值(通过使用
“tsv”
选项),但您的文件包含空格分隔值

由于文件不包含任何选项卡,因此它将整行作为单个值读取。因此表的
0,0
位置是
1234
,它不是一个数字-因此是
NaN
。这也是为什么它认为您的表只有一列

您应该修改
celldata.txt
文件,使其实际上由制表符而不是空格分隔:

1   2   3   4
5   6   7   8
9   10  11  12
1   2   3   4
2   3   4   5
您也可以用逗号分隔它们,然后使用
“csv”
选项

如果仍然有问题,可以通过添加
saveTable(表,“data/new.csv”)
setup()
函数的末尾,然后查看该文件。它将是一个由逗号分隔的值列表,因此您可以确切地看到处理认为表中的单元格在哪里