java 使用 opencsv 处理 csv 字符串

从第三方接口 获取 报告数据,数据格式 为 CSV格式。但数据的前几列数据,不需要处理,采用 opencsv 进行处理。

1、 引入 opencsv

        <dependency>
            <groupId>com.opencsv</groupId>
            <artifactId>opencsv</artifactId>
            <version>5.5.2</version>
        </dependency>

2、使用opencsv 处理数据

        //获取 数据
        Connection.Response response = HttpUtils.get(us_url);
        String bodyStr = response.body();
        //System.out.println(bodyStr);
        //保存数据 到新CSV文件中
        saveDataToFile("123", bodyStr);
        InputStream inStream = new ByteArrayInputStream(bodyStr.getBytes(StandardCharsets.UTF_8));
        InputStreamReader isReader = new InputStreamReader(inStream);

        String newStr = "";
        int count = 0;
        try {
    
    
            CSVReader csvReader = new CSVReader(isReader);
            int saf = csvReader.getSkipLines();
            System.out.println("sdf: " + saf);
            //跳过 行数 获取到的CSV 字符串中的前7行不需要
            int skipLines = 7;
            csvReader.skip(skipLines);
            List<String[]> allData = csvReader.readAll();
            int allLength = allData.size();
            System.out.println("总数据长度: " + allLength);
            String[] ag = allData.get(0);
            System.out.println("标题数据:");
            System.out.println(Arrays.toString(ag));
            for (String[] cell : allData) {
    
    
                count++;
                String tStr = "";
                for (String eum : cell) {
    
    
                    //System.out.print(eum + "\t");
                    tStr = tStr + "\"" + eum + "\",";
                }
                tStr = tStr.substring(0, tStr.length() - 1);
                newStr = newStr + tStr + "\n";
                //System.out.println();
            }
        } catch (Exception e) {
    
    
            e.printStackTrace();
        }
        System.out.println("count:  " + count);

        //保存数据 到新CSV文件中
        //saveDataToFile("456", newStr);

3、运行结果

行数读取正确,123.csv 和 456.csv 两个文件数据,行数以及 列数 是一致的,数据内容也没有差异。

在这里插入图片描述

4、后记

CSV 数据的处理,基本结束了,下一步还需要把数据存入 MySQL 数据库。

Guess you like

Origin blog.csdn.net/weixin_44451210/article/details/121412493
Recommended