我目前拥有结果集中的arraylist,并使用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。而不是这个我需要100行CSV和1列。(数组列表的大小是100)。任何帮助都是赞赏的。
答案 0 :(得分:1)
您传递给writeNext()
的每个数组看起来都会成为CSV中的一行,因此您需要一个为writeNext()
的每个元素调用List
的循环:
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
的每个元素转储到输出文件的单独一行。