【问题标题】:Skip Optional Header in CSV file with SuperCSV使用 SuperCSV 跳过 CSV 文件中的可选标题
【发布时间】:2016-05-29 05:24:44
【问题描述】:

我有一个系统,用户可以通过 csv 文件导入数据。 使用 SuperCSV 将文件解析为 POJO。

我希望能够在有或没有标题行的情况下管理这些文件。

CsvBeanReader.getHeader(true) 将提取第一行,但如果它不是标题,则 BeanReader 不会解析该行。

有没有一种简单的方法可以在不丢失第一行数据的情况下检测标题?

【问题讨论】:

    标签: java csv import supercsv


    【解决方案1】:

    从文件中读取值时跳过超级 csv 的标头的最佳方法:-

    //不要写这行 beanReader.getHeader(true)

    // 在读取值之前传递你声明的标题数组,如 headers = {column1},{column2}

    //然后使用下面的行,不包括标题

    beanReader.read(类型、标头、处理器))

    以上步骤帮助我们读取保存的不带标题的csv文件。

    【讨论】:

      【解决方案2】:

      最简单的解决方案是只读取文件两次(在第一遍检查预期的标题 - 您只需要读取第一行,然后在第二遍读取有/没有标题)。

      【讨论】:

        【解决方案3】:

        我找到了解决办法。

        通过使用BufferedReader 包装提供的Reader,我可以标记开头,读取第一行,如果不是标题,则执行reader.reset()

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多