计算和比较scv文件中的字符串

时间:2018-03-02 11:48:23

标签: java csv

我有一个18000行的大型csv文件。它们代表利口酒商店的不同种类的商品。如果我使用bufferedReader拆分行,我会得到一些列,如文章编号,名称,酒量,价格等等。

在第七栏中是饮料的类型(啤酒,呜呜声朗姆酒等)。计算每种类型的文章数量的最佳方法是什么?我希望能够在不知道类型的情况下做到这一点。我只想使用java.util。*。

我可以通读该列并将其存储在队列中。在阅读时我将每种新类型存储在一个集合中。然后我可以比较队列中的所有元素到这个集合?

br = new BufferedReader(new FileReader(filename));
            while ((line = br.readLine()) != null) {

                // using \t as separator
                String[] articles = line.split(cvsSplitBy);

输出应该是这样的。

There are: 
100 beers
2000 whines 
etc. etc.

in the sortiment

1 个答案:

答案 0 :(得分:0)

您可以使用$("document").ready(function () { $("button").click(function () { $("[name='demoNode']").each(function (elem) { $(this).addClass("democlass"); }); }); }); 来了解您拥有的每个类别的产品数量。用法如下:

HashMap<String, integer>

免责声明 您必须确保所有产品的名称相同,即:HashMap<String, Integer> productCount = new HashMap<>(); //This must be outsise the loop //read you CSV here, this should be placed inside the loop String product = csvColumns[6]; if(productCount.containsKey(product)) { //If the product doesn't exist productCount.put(product, 1); } else { //Product exists, add 1 int count = productCount.get(product); productCount.put(productCount, count+1); } beer。对于Java,这些是不同的字符串,因此,将有不同的计数。一种方法是将每个产品转换为大写,即:Beer - &gt; beer BEER - &gt; Beer。这将导致在显示结果时以大写形式显示所有名称。