首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用java从csv文件中获取基于第一列名称的数据

如何使用java从csv文件中获取基于第一列名称的数据
EN

Stack Overflow用户
提问于 2017-07-02 11:51:13
回答 1查看 1.3K关注 0票数 1

在附加的csv图像中,我试图获取数据并将其存储在基于测试用例名称的哈希图中,该名称在第一列中。在第二列中,我给出了rowcount值,它表示可用于特定测试用例的测试数据的数量,因此我可以获得rowcount的值,并将其循环多次,以获得该特定测试用例的所有可用数据。我已经编写了获取rowcount值的代码。但我不知道如何获取该特定测试的数据并将其存储在hashmap中。

Click here to view CSV File Image

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String path = "./TestData.csv";
String TestCaseName="Login";
String CurrentLine;

try (BufferedReader br = new BufferedReader(new FileReader(path))) {
    while ((CurrentLine = br.readLine()) != null) {
        String Data[] = CurrentLine.split(",");
        if(TestCaseName.equalsIgnoreCase(Data[0])){
            System.out.println("Details in this row :"+ "  " +CurrentLine);
            String rowcount_value = Data[1];
            System.out.println(rowcount_value);
        }
    }
}       
catch (IOException e) {
    e.printStackTrace();
}

在附加的csv图像中,我想获取Testcase Login的数据,所以我在上面的代码中给出了Testcase的名称作为Login。现在,我想获取属于Login testcase的图像中所有突出显示的数据,并将其存储在hashmap中。上面的代码只是给出了传递的测试用例名称的行计数值。

请帮助我获取那些突出显示的数据并将其存储在hashmap中。我是这个领域的新手,提前感谢你。

EN

回答 1

Stack Overflow用户

发布于 2017-07-02 13:15:32

由于您的csv文件具有不同测试用例的固定数量的数据点,因此在添加更多测试用例的情况下,您可能需要更新以下代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class ReadCsv {

public static void main(String[] args) {

    String path = "sample.csv";
//  String TestCaseName="Login";
    String CurrentLine;

    //Map to store TestCase -> Map(Key ->value)

    Map<String,Map<String,String>> testcaseMap = new HashMap<String,Map<String,String>>();
    try (BufferedReader br = new BufferedReader(new FileReader(path))) {
        br.readLine();
        while ((CurrentLine = br.readLine()) != null) {
            String Data[] = CurrentLine.trim().split(",");
            String testCase_DataNames = "";
            for(int j=2;j<Data.length;j++){
                testCase_DataNames = testCase_DataNames +"_"+Data[j];
            }
            int dataCount = Integer.parseInt(Data[1]);
            Map<String,String> testdata = new HashMap<String,String>();
            for(int i=0;i<dataCount;i++){
                String nextLine = br.readLine();
                String feilds[] = nextLine.trim().split(",");
                testdata.put(feilds[2], feilds.length ==4 ? feilds[3]:null);

            }
            testcaseMap.put(Data[0]+testCase_DataNames, testdata);
            /*if(TestCaseName.equalsIgnoreCase(Data[0])){
                System.out.println("Details in this row :"+ "  " +CurrentLine);
                String rowcount_value = Data[1];
                System.out.println(rowcount_value);
            } */
        }


        for(Map.Entry<String,Map<String,String>> entry:testcaseMap.entrySet()){
             String key[] = entry.getKey().split("_");
            System.out.println("Test case for:"+key[0]);

                for(Map.Entry<String, String> dataPair: entry.getValue().entrySet()){
                    System.out.println("Data header:"+key[1]+" with value:"+dataPair.getKey());
                    if(dataPair.getValue()!= null ) {
                        System.out.println("Data header:"+key[2]+" with value:"+dataPair.getValue());
                    }

            }

        }
    }       
    catch (IOException e) {
        e.printStackTrace();
    }
}
}

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Test case for:Login
Data header:UserName  with value:uname2
Data header:Password with value:pwd2
Data header:UserName  with value:uname1
Data header:Password with value:pwd1
Test case for:Hotel
Data header:HotelNames with value:Ambur
Data header:HotelNames with value:BlackPerl
Data header:HotelNames with value:Zingro

希望这对你有用!祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44870505

复制
相关文章
JAVA读取csv文件_java读取csv文件某一列
当读取的是一个简单的csv文件,即文件的列字段中不包含分隔符时,可以使用BufferedReader或者Scanner类去读取
全栈程序员站长
2022/11/16
3.9K0
Import File(.CSV) to SAS/获取文件夹、文件名称
今天给大家Share的是关于CSV导入SAS、以及filename获取文件夹名称、文件名称 ----Setup~
Setup
2019/10/21
2.9K0
Import File(.CSV) to SAS/获取文件夹、文件名称
python读取csv文件,将文件中第一列显示出来
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/15
2.2K0
python中如何打开csv文件_python如何读取csv文件
python如何读取csv文件,我们这里需要用到python自带的csv模块,有了这个模块读取数据就变得非常容易了。
全栈程序员站长
2022/09/16
8K0
python中如何打开csv文件_python如何读取csv文件
js中,如何获取批量传入文件的大小,名称,进行循环展示。
<div class="handle"> <div class="handle-box" id="drop_area" v-on:drop="dropClick"> <div class="handle-btn"> <img class="btn-icon" src="./images/compress/new-btn-icon.png" alt="">
用户4344670
2022/09/02
10K0
numpy和pandas库实战——批量得到文件夹下多个CSV文件中的第一列数据并求其最值
前几天群里有个小伙伴问了一个问题,关于Python读取文件夹下多个CSV文件中的第一列数据并求其最大值和最小值,大家讨论的甚为激烈,在此总结了两个方法,希望后面有遇到该问题的小伙伴可以少走弯路。
Python进阶者
2020/09/22
9.6K0
numpy和pandas库实战——批量得到文件夹下多个CSV文件中的第一列数据并求其最值
java inputstream读取文件_java如何获取输入的数据
InputStream读取流有三个方法,分别为read(),read(byte[] b),read(byte[] b, int off, int len)。其中read()方法是一次读取一个字节,鬼都知道效率是非常低的。所以最好是使用后面两个方法。
全栈程序员站长
2022/11/08
2.7K0
如何把Elasticsearch中的数据导出为CSV格式的文件
本文结合用户实际需求用按照数据量从小到大的提供三种方式从ES中将数据导出成CSV形式。本文将重点介Kibana/Elasticsearch高效导出的插件、工具集,通过本文你可以了解如下信息:
南非骆驼说大数据
2020/06/07
26.7K0
java 获取_java中的html如何获取
UUID,通用唯一识别码,是由一组32位数的16进制数字所构成,可以产生一个号称全球唯一的ID,可以用来命名文件、变量以及数据库的ID主键等属于唯一的元素。
全栈程序员站长
2022/09/22
7.5K0
java 获取_java中的html如何获取
从csv文件中导入数据到Postgresql
从csv文件中导入数据到Postgresql已有表中,如果数据已经存在则更新,如果不存在则新建记录。 根据csv文件格式,先在postgresql中建立临时表:
fanzhh
2019/08/20
4.5K0
把一个csv数据文件,第一行头文件(字段名)不变,按某列(第四列)降序排列,另行保存为csv 文件
前几天在Python白银交流群有个叫【大侠】的粉丝问了一个关于Python自动化办公的问题,这里拿出来给大家分享下,一起学习。把一个csv数据文件,第一行头文件(字段名)不变,按某列(第四列)降序排列,另行保存为csv 文件。
前端皮皮
2022/08/17
1.1K0
把一个csv数据文件,第一行头文件(字段名)不变,按某列(第四列)降序排列,另行保存为csv 文件
使用Java Scanner类解析CSV文件
如果你查看Scanner的API,你会发现该类支持文件和输入流作为输入方式,本例中我们采用文件的方式。
明明如月学长
2021/08/27
1.2K0
Elasticsearch:如何把 Elasticsearch 中的数据导出为 CSV 格式的文件
本教程向您展示如何将数据从 Elasticsearch 导出到 CSV 文件。 想象一下,您想要在 Excel 中打开一些 Elasticsearch 中的数据,并根据这些数据创建数据透视表。 这只是一个用例,其中将数据从 Elasticsearch 导出到 CSV 文件将很有用。
腾讯云大数据
2020/09/10
6.6K0
Elasticsearch:如何把 Elasticsearch 中的数据导出为 CSV 格式的文件
如何使用DNS和SQLi从数据库中获取数据样本
泄露数据的方法有许多,但你是否知道可以使用DNS和SQLi从数据库中获取数据样本?本文我将为大家介绍一些利用SQL盲注从DB服务器枚举和泄露数据的技术。
FB客服
2019/03/08
11.6K0
如何使用DNS和SQLi从数据库中获取数据样本
用python的pandas打开csv文件_如何使用Pandas DataFrame打开CSV文件 – python[通俗易懂]
message : UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa1 in position 0: invalid start byte.
全栈程序员站长
2022/09/16
11.8K0
Python使用csv模块读写csv文件
有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本形式存储表格数据。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。
Python碎片公众号
2021/02/26
3.5K0
Python使用csv模块读写csv文件
pandas如何获取Excel文件下所有的sheet名称
一定要加sheet_name=None,才能读取出所有的sheet,否则默认读取第一个sheet,且获取到的keys是第一行的值
py3study
2020/12/22
13.9K0
批量汇总CSV文件数据,怎么只剩一列数据了?
这是群里一个朋友的提问,算是一个大家可能会遇到的坑,可以了解一下。即:
大海Power
2021/08/31
1.8K0
点击加载更多

相似问题

如何从CSV文件中获取每行的第一列?

66

基于csv文件列数据的Java提取计数

120

使用java从csv文件中获取正确的数据

11

如何使用jsp/java从csv文件中读取特定列的数据?

31

使用JAVA从CSV文件中读取列

3346
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文