gpt4 book ai didi

java - 在Java中解析分号分隔的文件

转载 作者:行者123 更新时间:2023-12-02 05:36:28 25 4
gpt4 key购买 nike

我有一个excel文件,内容如下所示。第一行是标题,第二行是数据。

Cell A1 contains line below (Header)
**IsShooting; Velocity; Location_x; Location_y; Location_z; Onslaught_ONSAV ; ***Event***; EventParams...**

Cell A2 contains below
0;0;0;0;0;0;0;0;0;0;0.000;0.000;0;0.000;0.000;None;0;0;0.000;-1983.610;-

Cell A3 Contains below
;0.250;0.000;0.000;0.000;0.000;***BOT_KILLED***;CTF-Geothermal.GBxBot10;XWeapons.DamTypeFlakChunk

Cell A4 Contains below
4.110;161.900;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;0.000;4.320;0.000;0.260;0.000;0.000;***FLAG_PICKEDUP***;0;CTF-Geothermal.GBxBot10

我想知道是否有任何开源 CSV 解析器,我可以使用,这样我就可以从 Excel 中获取数据。

上面的Excel文件包含400行数据。我想要的只是 FLAG_PICKEDUP 和 BOT_KILLED 的计数。

谢谢!

最佳答案

这是我能想到的最简单的方法。使用 BufferedReader 读取每一行。对于每一行,将其拆分为一个字符串数组,然后检查每个字符串以查看它是否等于定义标志拾取或机器人杀死的常量。

我认为 Apache 制作了 csv 解析器,但我从未使用过它。对于这么简单的事情,自己编写代码可能会更容易。这是我在大约 5 分钟内想出的结果。

注意:恕我直言,stackoverflow 通常会要求您首先尝试自己解决问题。由于您没有发布代码,我们无法帮助您调试,也不知道您是否尝试自己解决问题。这很简单,所以我提供了帮助,但如果您先发布(失败的)解决方案,您可能会发现更容易获得支持。

public static void main(String[] args) throws Exception
{
int botKilledCount = 0, flagPickedUpCount = 0;
String line, botLiteral = "***BOT_KILLED***", flagLiteral = "***FLAG_PICKEDUP***";
BufferedReader reader = new BufferedReader(new FileReader(new File("!!YOUR FILE HERE!!")));
while ((line = reader.readLine()) != null)
for (String s : line.split(";"))
if (s.equals(botLiteral))
botKilledCount++;
else if (s.equals(flagLiteral))
flagPickedUpCount++;

System.out.println("Bot Killed Count: " + botKilledCount + ", Flag Pickup Count: " + flagPickedUpCount);
}

这是输出:

Bot Killed Count: 1, Flag Pickup Count: 1

关于java - 在Java中解析分号分隔的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24923179/

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