gpt4 book ai didi

java - 在 Java 中通过标题解析特定列

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:36 25 4
gpt4 key购买 nike

这就是我的 CSV 文件的样子:

 X, X2, Symbol, Date, Open, High, Low, Close, Volume

5, 9, AAPL, 01-Jan-2015, 110.38, 110.38, 110.38, 110.38, 0
2710, 289, AAPL, 01-Jan-2015, 110.38, 110.38, 110.38, 110.38, 0
5415, 6500, AAPL, 02-Jan-2015, 111.39, 111.44, 107.35, 109.33, 53204600

如何仅从 X 和 X2 列中选择值?我一直在尝试使用 openCSV 库,但没有得到任何好处。

谢谢

最佳答案

uniVocity-parsers可以非常轻松地完成此操作,并且速度比 OpenCSV 快 2 倍。

以下是如何使用它来选择感兴趣的列:

输入

    String input = "X, X2, Symbol, Date, Open, High, Low, Close, Volume\n" +
" 5, 9, AAPL, 01-Jan-2015, 110.38, 110.38, 110.38, 110.38, 0\n" +
" 2710, 289, AAPL, 01-Jan-2015, 110.38, 110.38, 110.38, 110.38, 0\n" +
" 5415, 6500, AAPL, 02-Jan-2015, 111.39, 111.44, 107.35, 109.33, 53204600";

配置

    CsvParserSettings settings = new CsvParserSettings(); //many options here, check the tutorial
settings.setHeaderExtractionEnabled(true); //tells the parser to use the first row as the header row
settings.selectFields("X", "X2"); //selects the fields

解析

    CsvParser parser = new CsvParser(settings);
List<String[]> allRows = parser.parseAll(new StringReader(input));

打印结果

    for(String[] row : allRows){
System.out.println(Arrays.toString(row));
}
}

输出

[5, 9]
[2710, 289]
[5415, 6500]

在字段选择上,您可以使用任何字段序列,并且具有不同列大小的行,解析器将很好地处理这个问题。

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

关于java - 在 Java 中通过标题解析特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34890462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com