Java에서 작성자가 첫 번째 행과 열에 대해 ArrayList
의 정수 값을 가져오고 나머지는 float[][]
의 정수 값을 가져 와서 CSV 형식으로 작성합니다. 이 첫 번째 열이 이상해지고 문제를 찾을 수 없습니다. 어떤 제안이나 도움이있어서 정말 행복합니다.출력의 Java writer 첫 번째 문자 (int)가 잘못되었습니다.
public static void resulttofile(List<Nm_item> nmvector,
float[][] cor_matrix, String filename) {
try {
FileWriter writer = new FileWriter(new File(filename + ".csv"));
for (int i = nmvector.get(0).row; i <= nmvector
.get(nmvector.size() - 1).row; i++) {
writer.write(sepw + nmvector.get(i).nm);
}
writer.write(System.getProperty("line.separator"));
for (int i = nmvector.get(0).row; i <= nmvector
.get(nmvector.size() - 1).row; i++) {
writer.write(nmvector.get(i).nm);
for (int j = nmvector.get(0).row; j <= nmvector.get(nmvector
.size() - 1).row; j++) {
writer.write(sepw + cor_matrix[i][j]);
}
writer.write(System.getProperty("line.separator"));
}
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Results saved to " + filename + ".csv");
}
출력 (자른) :
350 351 352 353
? 0 0.003 0.171 0.001
? 0.003 0 0.274 0
è 0.163 0.271 0 0.345
Ü 0 0 0.35 0
? 0.008 0.019 0.326 0.044
? 0.008 0.016 0.199 0.015
? 0.015 0.037 0.361 0.04
? 0.029 0.023 0.171 0.023
? 0.038 0.042 0.186 0.038
또는'writer.write (""+ nmvector.get (i) .nm); ' – OldCurmudgeon
두 작품 모두 고맙습니다. 왜냐하면 당신은 int로 라인을 열 수 없기 때문입니다. –
Hi Helge, 제 답변에 대한 설명을 추가했습니다. 희망이 도움이됩니다. – dslh