当前位置: 首页 > 知识库问答 >
问题:

如何在java中的同一个csv文件的2列之间进行筛选?

曹乐意
2023-03-14

你好,我有一个java类,它统计csv文件中的所有行。但是现在我需要创建一个过滤器,这样它只计算一定数量的行,这取决于过滤器中的条件。

像这样的东西:

COUNTROWS(FILTER(Customer_Data, Customer_Data[Age]>=18
&& Customer_Data[IsActiveMember]=1))

我现在正在学习java,这是相当困难的。

我现在的代码是:

import java.io.File;
import java.io.IOException;

public class CountRows {

    public static void countorows() throws IOException {
        var Query ="COUNTROWS(FILTER(Customer_Data, Customer_Data[Age]>=18\r\n"
                + "&& Customer_Data[IsActiveMember]=1))";
      
        ReadFile file = new ReadFile(new File("file location"));
        var teste = file.getcustomers();
        System.out.println(teste.size());
    }
}

csv文件(它有10.000行,如下所示):`

RowNumber,CustomerId,Surname,CreditScore,Geography,Gender,Age,Tenure,Balance,NumOfProducts,HasCrCard,IsActiveMember,EstimatedSalary,Exited
1,15634602,Hargrave,619,France,Female,42,2,0,1,1,1,101348.88,1
2,15647311,Hill,608,Spain,Female,41,1,83807.86,1,0,1,112542.58,0
3,15619304,Onio,502,France,Female,42,8,159660.8,3,1,0,113931.57,1
3,15619304,Onio,502,France,Female,42,8,159660.8,3,1,0,113931.57,2
3,15619304,Onio,502,France,Female,42,8,159660.8,3,1,0,113931.57,3
3,15619304,Onio,502,France,Female,42,8,159660.8,3,1,0,113931.57,4
3,15619304,Onio,502,France,Female,42,8,159660.8,3,1,0,113931.57,5
3,15619304,Onio,502,France,Female,42,8,159660.8,3,1,0,113931.57,6

共有1个答案

上官凯歌
2023-03-14

我知道读取文件的方式是:

    null

也许你需要做点什么:

public class CountRows {

    public static void countorows() throws IOException {
    
        try {
            int counter = 0;
            BufferedReader b = new BufferedReader(new inputFile);
            String readLine = "";
            while ((readLine = b.readLine()) != null) {
                String sNewLine = new String(sLinea_nueva.getBytes("ISO-8859-1"), "UTF-8");
                String[] sLinea = sNewLine.split(",");
                String sName = sLinea[0];
                String sAge = sLinea[1];
                if (Integer.value(sAge) >= 18) {
                    counter = counter + 1;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}   
 类似资料:
  • 问题内容: 我有两个文件,并且我想对两个文件进行逐行操作。(换句话说,每个文件的第一行都与之对应,第二行等等)。现在,我想到了一些稍微麻烦的方法来同时遍历两个文件。 但是 ,这是Python,因此我认为这里有一些语法速记。 换句话说,是否有一些简单的方法可以适应 这样就可以同时从两个文件中提取数据? 问题答案: Python 2: 使用加入了两个迭代器。 如果文件长度不相等,请使用。 在Pytho

  • 我在CSV文件中有上述数据。我在查找收入变化时遇到问题,即第1行-第0行,第2行-第1行等的收入。。。最后,我想要总收入变化的总和。我试过使用loop,但我猜这是个愚蠢的错误。请给我建议代码,这样我可以比较我的错误。我不熟悉python和编码。

  • 问题内容: 如何按两列对CSV文件进行排序?现在,我可以按一列对其进行排序。我需要按前两列对其进行排序。怎么做?这是我用来按其第一列进行排序的代码: 编辑:两列排序后的输出变为: 我需要这样的输出: 但是,我希望第三列显示当前在第三列中显示的值中X的最小值,然后显示Y的最小值,然后显示Z。 问题答案: 尽管创建类作为 域的 适当表示通常是一个好主意:在这种情况下,我 不同意 注释。 读取CSV并按

  • 我想知道循环浏览两个csv文件并比较它们的列最合适的方式是什么。具体来说,我想将csv文件1第1列与csv文件2第20列的每一次迭代进行比较,并检查是否存在匹配。以下是我到目前为止的情况。此外,csv文件1比csv文件2小得多。

  • 问题内容: 有一个表,如: 有没有一种方法可以计算相同月份/不同年份的值之间的差,因此得到的结果为: 我试图做类似的事情: 但输出为选择a(2012)的12个月*选择b(2011)的12个月。 编辑:抱歉,缺少重要信息: 通过odbc:jdbc桥对Excel工作表进行查询。 因为“ from”子句始终是这样的:[sheet1 $]我无法创建任何联接或case :( 问题答案: 您的查询无效,因为您

  • 给定一个文件夹,其中包含多个具有不同列长度的csv文件 必须使用python将它们合并到单个csv文件中,并将文件名打印为一列。 输入:https://www.dropbox.com/sh/1mbgjtrr6t069w1/AADC3ZrRZf33QBil63m1mxz_a?dl=0 输出: