我目前拥有结果集中的数组列表,并使用 openCSV 库以 CSV 形式打印。
ArrayList<Integer> arlist=new ArrayList<Integer>();
for(i=1;i<30;i++){
for(k=1;k<100;k++){
String sql="select count(id) where day=?"
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setInt(1,k);
ResultSet rs=rs.getInt(1);
int count=rs.getInt(1);
arlist.add(count);
}
CSVWriter writer=new CSVWriter(new FileWriter("/home/user/file"+i+".csv"),',')
writer.writeNext(arlist.toArray(new String [0]));
writer.close();
arlist.clear();
}
但问题是 CSV 是包含 100 列的 1 行 CSV。我需要的是包含 1 列的 100 行 CSV。(数组列表的大小为 100)。感谢任何帮助。
最佳答案
看起来您传递给 writeNext()
的每个数组都会成为 CSV 中的一行,因此您需要一个循环来为每个元素调用 writeNext()
您的列表
:
CSVWriter writer = new CSVWriter(new FileWriter("/home/user/file" + i + ".csv"),',') ;
for (Integer i : arlist) {
writer.writeNext(new String[]{i.toString()});
}
writer.close();
arlist.clear();
当然,由于每行只有一列,因此您可以跳过使用 CSVWriter
类,并将 List
的每个元素转储到单独的一行输出文件。
关于java - 如何将数组列表写入 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41738187/