csv简介
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。
业务场景
通常我们从数据库或者从文本,表格读取数据,然后经过一系列的运算,从而生成新的数据,然后导出到csv文件中。
代码实现
这里我们用读取txt文档里的信息,经过运算等导出csv
1、txt文本小明,数学,99,298,9
小红,数学,88,469,6
小马,数学,66,789,3
2、代码public static void main(String[] args) throws IOException {
File file = new File("/Users/fucker/Downloads/test.txt");
StringBuilder result = new StringBuilder();
//表头
result.append("姓名,科目,成绩,排名,学分,考试类型").append("\r\n");
try {
//读取文本信息
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = null;
String[] txtline;
StringBuffer stringBuffer = new StringBuffer();
while ((s = br.readLine()) != null) {//使用readLine方法,一次读一行
txtline = s.split(",");
if (txtline.length > 0) {
//编辑获取的数据,这里注意一个逗号就是一列数据,需要和表头一致
stringBuffer.append(txtline[0])
.append(",")
.append(txtline[1])
.append(",")
.append(txtline[2])
.append(",")
.append(txtline[3])
.append(",")
.append(Integer.valueOf(txtline[4]) * 4)
.append(",")
.append("月考")
.append("\r\n");
}
result.append(stringBuffer.toString());
stringBuffer.setLength(0);
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
//导出数据
String filenameTemp = "/Users/fucker/Downloads/test.csv";
File filename = new File(filenameTemp);
if (!filename.exists()) {
filename.createNewFile();
} else {
filename.delete();
filename.createNewFile();
}
Writer out = new FileWriter(filename);
out.write(String.valueOf(result));
out.close();
System.out.println("生成csv成功,文件路径:" + filenameTemp);
}
这里大家要明白一个原理就是,csv就是逗号分隔符,一个逗号就是一列,所以我们只需要把所需的列用逗号隔开即可,这也是本教程的灵魂所在。
3、效果
你还没有登录,请先使用 QQ登录 或 注册!
文章评论
发表评论