【问题标题】:Univocity Parser in Java, parsing the CSV based on a particular columnJava中的Univocity Parser,基于特定列解析CSV
【发布时间】:2020-07-16 04:25:53
【问题描述】:

我对 Univocity Parser 很陌生,我想知道是否有任何方法可以根据特定列的值解析 csv 文件,考虑到 CSV 的大小,我想根据日期属性对其进行解析。 (例如:如果日期是 2020 年 1 月 1 日,则仅解析日期值与给定值匹配的行,即 2020 年 1 月 1 日)

如果您能就此提供任何见解,我将不胜感激。

如果有人能就所述问题向我提供任何见解,我将不胜感激。

谢谢你, 里亚

【问题讨论】:

    标签: java csv parsing univocity


    【解决方案1】:
    parser.beginParsing(new FileReader(new File("abc.csv")));
            int count=0;
            String[] row;
            List<AttributesField> beanss= new ArrayList<>();
            while((row=parser.parseNext())!= null)
            {
                AttributesField af=rowProcessor.createBean(row, parser.getContext());
                row=af.getCommitted_at().split(" ");
                if(row[0].compareTo("2013-11-13") <=0)  //Hardcode the date: return a.compareTo(d) * d.compareTo(b) > 0;
                {
                    beanss.add(af);
                }
            }
    

    【讨论】:

      【解决方案2】:

      只需过滤并跳过不需要的行。 这很容易,因为 univocity 提供了iterative approach

      【讨论】:

        猜你喜欢
        • 2019-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-23
        • 2019-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多