[英]Convert List<List<String>> to csv
List<String> a=new ArrayList<>();
a.add("Ross");
a.add("Rachel")'
List<String> b=new ArrayList<>();
b.add("Chandler");
b.add("Monica")'
List<String> c=new ArrayList<>();
c.add("Joey");
c.add("Phoebe");
List<List<String>> x=new ArrayList<>();
x.add(a);
x.add(b);
x.add(c);
我想将字符串列表列表 x 转换为 csv? 如何做到这一点?
csv 应该看起来像 -
罗斯·雷切尔
钱德勒莫妮卡
乔伊菲比
一个简单的 csv 编写器可能如下所示:
Writer out = System.out; // this could be a FileWriter, StringWriter, etc.
for (List<String> line : x) {
int n = 0;
for (String field : line) {
if (n++ > 0) {
out.write(","); // field separator
}
out.write(field);
}
out.write("\n"); // record separator
}
并不是说如果您的任何字符串包含逗号,则该字段应该用双引号括起来,例如"A,C"
。 上面的代码没有这样做。 包含换行符或双引号的字段也应该转义。 没有单一的规范来定义这些转义在所有情况下如何工作,因此有时会变成反复试验,以查看您的文件将导入到的应用程序中的工作原理。
有时 csv 文件在第一行有逗号分隔的字段名称,有时没有。
csv 的变体使用不同的字符作为字段分隔符,例如“\t”或“|”
有诸如 opencsv 之类的库可以处理这些复杂性,因此对于非平凡的情况,使用这些库而不是像这样重新发明基本功能会很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.