java - 用逗号分隔 HashMap 输出到 .csv

标签 java csv hashmap

在此程序中,我将数据从 HashMap 数据库导出到 .csv。写入文件的数据是key和studentInformation,它由Name、Major和GPA组成。该代码将其输出到 .csv 很好,但是我希望每个值都用逗号分隔,以便每个值位于电子表格的不同列中。我将如何在数据库的每个输出上实现逗号???提前致谢。

      //Output the database to the file
      Map.Entry<Integer, Student> studentInformation = iterator.next();
      int key = studentInformation.getKey();
      bW.write("Student ID: " + key + (",") + studentInformation.getValue() + ("\n\n");

如果我在studentInformation.getValue()之后添加+(“,”),它不会分隔studentInformation的每个值...有什么想法吗?

最佳答案

您想要在 CSV 列中使用的每个字段都必须从 Student 类中单独检索。
例如:

  public static final String CSV_SEPARATOR  = ",";
  ...
  Map.Entry<Integer, Student> studentEntry = iterator.next();
  int key = studentEntry.getKey();
  Student student = studentEntry.getValue();
  String line = "Student ID: " + key + CSV_SEPARATOR + student.getName() 
  +  CSV_SEPARATOR  + student.getMajor() + System.lineSeparator();
  bW.write(line);

使用自定义常量作为 CSV_SEPARATOR 以避免重复“,”并且更喜欢 System.lineSeparator()\n\n 取决于操作系统。

最后为什么要重新发明轮子? SuperCSV 和 OpenCSV 等库做得非常好。
您应该尝试其中之一。

关于java - 用逗号分隔 HashMap 输出到 .csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43666569/

相关文章:

java - OkHttp 对请求启用/禁用 gzip 压缩

php - 为什么 TRANSACTION/COMMIT 使用 PHP/MySQL (InnoDB) 提高了性能?

java - Gson:JsonSyntaxException:应为 BEGIN_OBJECT 但为 STRING

java - getResourceAsStream 随机且不经常返回 null

java - RestTemplate.postForObject返回ResponseEntity和Http错误时返回Null

java - 创建@Service bean的对象,可能吗?

php - 增强csv文件数据库导入

mysql加载数据本地infile语法问题与设置字段

java - 如何打印出 hashmap 中的所有键?

java - 如何读取文本文件并使用 HashMap 存储?