我正在处理数据可视化工具,因此我使用此代码从csv文件中引入数据 -
//for importing csv files into a 2d array
//by che-wei wang
String lines[] = loadStrings("food.csv");
String [][] csv;
int csvWidth=0;
//calculate max width of csv file
for (int i=0; i < lines.length; i++) {
String [] chars=split(lines[i],',');
if (chars.length>csvWidth){
csvWidth=chars.length;
}
}
//create csv array based on # of rows and columns in csv file
csv = new String [lines.length][csvWidth];
//parse values into 2d array
for (int i=0; i < lines.length; i++) {
String [] temp = new String [lines.length];
temp= split(lines[i], ',');
for (int j=0; j < temp.length; j++){
csv[i][j]=temp[j];
}
}
效果很好,但是将所有行都作为字符串引入。 Processing有一个简单的float(string)转换,但我在这个转换代码上得到一个NullPointerException:
String[] timeString = csv[2];
float timeFloat[] = float(timeString);
答案 0 :(得分:0)
这样做可以将字符串转换为float
float f = Float.parseFloat(timestring);
答案 1 :(得分:0)
您正在获取'NullPointerException',因为您没有指定要存储的'timeString'元素,以及要将其存储在'timeFloat'中的哪个元素。您可以使用for循环来解决此问题。例如:
for (int i = 0; i < timeString.length; i++) {
timeFloat[i] = Float.(timeString[i]);
}
这个for循环遍历'timeString'的所有值,并将它们存储在'timeFloat'的相应元素中;例如,'timeString'的元素之一将存储在'timeFloat。'
的元素之一中