有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    使用uniVocity-parsers中的CSV解析器读取文件

    我快速查看了您的文件,您可以非常轻松地将这些“否”、“是”和“无”值转换为布尔值/空值:

    ObjectRowListProcessor rowProcessor = new ObjectRowListProcessor();
    
    rowProcessor.convertFields(Conversions.toBoolean("yes", "no")).set("metformin-rosiglitazone","metformin-pioglitazone","change","diabetesMed","readmitted")); //and all other fields where this makes sense.
    
    rowProcessor.convertFields(Conversions.toLowerCase(), Conversions.toNull("none", "?")).set("another field", "and another field");
    
    CsvParserSettings parserSettings = new CsvParserSettings();
    parserSettings.setRowProcessor(rowProcessor);
    parserSettings.setHeaderExtractionEnabled(true);
    
    CsvParser parser = new CsvParser(parserSettings);
    
    //the rowProcessor will be executed here.
    parser.parse(YOUR_INPUT_HERE);
    
    List<Object[]> rows = rowProcessor.getRows();
    

    如果您更喜欢带有注释的对象,可以使用BeanListProcessor作为详细说明here。也许这对你来说是最好的方法

    披露:我是这个图书馆的作者。它是开源和免费的(Apache V2.0许可证)