我尝试生成CSV文件,数据用逗号“,”分隔,新行用“\ n”分隔。 新行正在运行,但不是逗号,我在第一列中有所有数据,而不是我想要的两列。
以下是代码:
BufferedWriter writer = new BufferedWriter(new FileWriter("test.csv"));
writer.write("Username");
writer.write(",");
writer.write("Count");
writer.write("\n");
writer.write("Bob");
writer.write(",");
writer.write("20");
writer.write("\n");
writer.write("Mike");
writer.write(",");
writer.write("32");
writer.write("\n");
writer.close();
结果如下:
Username,Count
Bob,20
Mike,32
预期的结果是那样的
Username | Count
------ | ------
Bob | 20
------ | ------
Mike | 32
答案 0 :(得分:1)
在此处的项目中,我们使用;
分隔符创建CSV以创建我们的文件,而不是,
。
使用Excel正确解析,无需对文件或Excel进行任何更改。
编辑:正如Pshemo所说,您可以在文件的第一行指定分隔符。像这样:
sep=,
a,b
c,d
这将在Excel(已测试)中正确格式化。我不使用此解决方案,因为我使用生成的文件进行存档和数据传输,因此我不想检查第一行是数据还是仅属性。但这是一个更通用的解决方案。
答案 1 :(得分:0)
如果您希望文件如下所示:
job {
scm {
git {
remote {
url(GIT_URL)
}
branch('master')
extensions {
localBranch 'master'
}
}
}
}
然后你需要修改你的代码来编写它。但是,你得到了完全预期的结果
Username | Count
------ | ------
Bob | 20
------ | ------
Mike | 32
使用CSV(逗号分隔值),正如它所说的那样,是用逗号分隔的数据,每行是一个寄存器。我不知道你发布这个问题的预期。
答案 2 :(得分:0)
我相信文件正在正确创建,这就是csv文件的工作方式。例如,在excel中打开它们时,转到Data标题,然后单击Text to Columns,然后在弹出的窗口中选择分隔,然后点击下一步,选择逗号,然后点击完成!