Hier ist ein einfaches Problem:Lesen ist eine CSV in Java/Jython
public static double[] stringsToDoubles(String[] inputArr) {
double[] nums = new double[inputArr.length];
for (int i = 0; i < nums.length; i++) {
nums[i] = Double.parseDouble(inputArr[i]);
}
return nums;
}
public static double[][] readPointCloudFile(String filename, int n) {
double[][] points = new double[n][];
String delimiter = ",";
Scanner sc = new Scanner(filename);
for (int i = 0; i < n; i++) {
String line = sc.nextLine();
points[i] = stringsToDoubles(line.split(delimiter));
}
return points;
}
von jython ich richtig importieren, und rufen Sie dann die Funktion als
readPointCloudFile("points.txt", 3)
Diese
java.lang.NumberFormatException: java.lang.NumberFormatException: For input string: "points.txt"
den Fehler gibt
Sie lesen nie aus der Datei. Sie übergeben den Dateinamen an den Scanner und nehmen an, dass diese Zeichenfolge Ihre CSV-Daten ist, aber es ist nur der Dateiname. – f1sh
Ja, ich denke, ich muss etwas wie neue Datei (Dateiname) oder etwas tun –
BTW, die [Apache Commons CSV] (http://commons.apache.org/proper/commons-csv/) Bibliothek kann dabei helfen mühsames Lesen von CSV-Dateien. –