如何使用 Java 中的 PrintWriter 将逗号打印到 .csv 文件?

Posted

技术标签:

【中文标题】如何使用 Java 中的 PrintWriter 将逗号打印到 .csv 文件?【英文标题】:How to print commas to a .csv file using PrintWriter in Java? 【发布时间】:2013-04-06 22:45:08 【问题描述】:

我在将文本打印到 .csv 文件时遇到问题。我的字符串中有一个逗号,我最终将它打印到两个单元格而不是一个单元格。代码如下:

String companyName1 = "Edison Corporation, LLC co";
String profit1 = "$100";
String fileName = "Result.csv";
    File file = new File(fileName);
    output = new PrintWriter(file);
output.println(companyName+","+profit);
  //This gives me the following: 
  //  Edison Corporation             LLC co            $100
  //I need:
  //  Edison Corporation, LLC co     $100

【问题讨论】:

【参考方案1】:

CSV 格式允许使用逗号的字符串,但它们必须用双引号引起来。试试这个:

output.println("\""+companyName+"\","+profit);

【讨论】:

对不起...它适用于一切...我需要设置 excel 默认分隔符...【参考方案2】:

如果您在 Excel 中打开生成的 csv 文件,则必须考虑默认标记分隔符和转义字符与您办公室安装的区域设置不同。例如,Excel 中的德语默认值是分号而不是逗号。

当然,请在 NotePad++ 等编辑器中打开 csv。在 Excel 中使用“导入数据...”功能。在那里你可以设置你在代码中定义的字符。

您还可以拥有以下 CSV 文件:

7test7+7foo7+7ba77r7 

其中 + 是标记分隔符,7 是转义字符。

【讨论】:

以上是关于如何使用 Java 中的 PrintWriter 将逗号打印到 .csv 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Java学习 PrintWriter打印输出—用于快速输出字符到文件

java中如何快速打出System.out.print

PrintWriter的使用

如何在Java类中定义接口属性并如何使用

Java:PrintStream 和 PrintWriter 的区别

Java PrintWriter - 在 NetBeans 中将文件保存到源包