Example usage for org.apache.commons.csv CSVParser CSVParser

List of usage examples for org.apache.commons.csv CSVParser CSVParser

Introduction

In this page you can find the example usage for org.apache.commons.csv CSVParser CSVParser.

Prototype

public CSVParser(final Reader reader, final CSVFormat format) throws IOException 

Source Link

Document

Customized CSV parser using the given CSVFormat

If you do not read all records from the given reader , you should call #close() on the parser, unless you close the reader .

Usage

From source file:org.wso2.carbon.event.simulator.core.internal.generator.csv.util.CSVReader.java

/**
 * parseFile() method is used to parse the CSV file using the delimiter specified in CSV simulation Configuration
 *
 * @param delimiter delimiter to be used when parsing CSV file
 * @throws IOException if an error occurs when creating a CSVReader
 *//* ww  w  . jav  a2s  .  c o  m*/
private CSVParser parseFile(String delimiter) throws IOException {
    switch (delimiter) {
    case ",":
        return new CSVParser(fileReader, CSVFormat.DEFAULT);
    case ";":
        return new CSVParser(fileReader, CSVFormat.EXCEL);
    case "\\t":
        return new CSVParser(fileReader, CSVFormat.TDF);
    default:
        return new CSVParser(fileReader, CSVFormat.newFormat(delimiter.charAt(0)));
    }
}

From source file:org.wso2.carbon.ml.dataset.internal.DatasetSummary.java

/**
 * Constructor to create the parser for the data-set and initialize the lists.
 *
 * @param csvDataFile   File object of the data-set CSV file.
 * @param datasetID     Unique Identifier of the data-set.
 * @throws              DatasetSummaryException
 *///from  w w  w .j a  v a 2  s.co  m
protected DatasetSummary(File csvDataFile, String datasetID) throws DatasetSummaryException {
    this.datasetID = datasetID;
    try {
        Reader reader = new InputStreamReader(new FileInputStream(csvDataFile.getAbsolutePath()),
                DatasetConfigurations.UTF_8);
        this.parser = new CSVParser(reader, CSVFormat.RFC4180.withHeader().withAllowMissingColumnNames(true));
        this.headerMap = this.parser.getHeaderMap();
        int noOfFeatures = this.headerMap.size();
        // Initialize the lists.
        this.missing = new int[noOfFeatures];
        this.unique = new int[noOfFeatures];
        this.type = new String[noOfFeatures];
        this.histogram = new EmpiricalDistribution[noOfFeatures];
        for (int i = 0; i < noOfFeatures; i++) {
            this.descriptiveStats.add(new DescriptiveStatistics());
            this.graphFrequencies.add(new TreeMap<String, Integer>());
            this.columnData.add(new ArrayList<String>());
        }
    } catch (IOException e) {
        throw new DatasetSummaryException(
                "Error occured while reading from the dataset " + datasetID + ": " + e.getMessage(), e);
    }
}

From source file:org.zaproxy.zap.extension.multiFuzz.impl.http.HttpFuzzerContentPanel.java

@Override
public void loadRecords(File f) {
    try (CSVParser parser = new CSVParser(new FileReader(f), CSVFormat.DEFAULT);) {
        boolean header = true;
        for (CSVRecord rec : parser) {
            if (!header) {
                String name = rec.get(0);
                String custom = rec.get(1);
                HttpFuzzRequestRecord.State s;
                if (rec.get(2).equals(STATE_SUCCESSFUL_LABEL)) {
                    s = HttpFuzzRequestRecord.State.SUCCESSFUL;
                } else if (rec.get(2).equals(STATE_REFLECTED_LABEL)) {
                    s = HttpFuzzRequestRecord.State.REFLECTED;
                } else if (rec.get(2).equals(STATE_ANTI_CSRF_TOKEN_REQUEST_LABEL)) {
                    s = HttpFuzzRequestRecord.State.ANTI_CRSF_TOKEN;
                } else if (rec.get(2).equals(STATE_ERROR_LABEL)) {
                    s = HttpFuzzRequestRecord.State.ERROR;
                } else {
                    s = HttpFuzzRequestRecord.State.CUSTOM;
                }/*from  ww w .  ja v  a  2 s  .  c  o  m*/

                int l = Integer.parseInt(rec.get(3));
                ArrayList<String> pay = new ArrayList<>();
                if (l == 0) {
                    l++;
                } else {
                    for (int i = 4; i < l + 4; i++) {
                        pay.add(rec.get(i).substring(1, rec.get(i).length() - 1));
                    }
                }
                HttpMessage m = new HttpMessage();
                m.setRequestHeader(rec.get(l + 4));
                m.setRequestBody(rec.get(l + 5));
                m.setResponseHeader(rec.get(l + 6));
                m.setResponseBody(rec.get(l + 7));
                m.setTimeElapsedMillis(Integer.parseInt(rec.get(l + 8)));
                addFuzzResult(name, custom, s, pay, m);
            } else {
                header = false;
            }
        }
    } catch (IOException e) {
        logger.debug(e.getMessage());
        JOptionPane.showMessageDialog(View.getSingleton().getMainFrame(),
                Constant.messages.getString("fuzz.http.csv.readError"));
    }
}

From source file:otn.mobile.bl.TrackServicesHandler.java

public OtnServiceTrackResponse addTracks(OtnServiceTrackRequest request) {

    //*********************** Variables ***************************
    OtnServiceTrackResponse response = new OtnServiceTrackResponse();
    User users;//from ww w .java 2s .c o m

    TransportType transport_type = null;

    Weather weather;

    WeatherType weather_type;

    Apps app = null;

    Source source = null;

    Track track = new Track();

    Track subTracks;

    TrackRating track_rating;

    TrackRatingType track_rating_type;

    ArrayList<OtnServiceSubTracksResponse> trackList = new ArrayList<OtnServiceSubTracksResponse>();

    ArrayList<OtnServiceWeatherRatings> weatherListparams = null;

    ArrayList<OtnServiceGeometryPoints> geometryPointsListparams = null;

    byte[] trackFileCsv = null;
    //************************* Action ****************************
    System.out.println("------------Start---------------");

    try {
        //**********************find user*****************************

        users = em.find(User.class, request.getUserId());

        if (users != null) {

            System.out.println("=====================================");
            System.out.println("user id " + users.getUserId());

        } else {
            System.out.println("=====================================");
            System.out.println("user not found");
            em.getTransaction().begin();
            users = new User();
            users.setUserId(request.getUserId());
            em.persist(users);
            em.flush();
            em.getTransaction().commit();
            em.clear();
            System.out.println("user created");
        }

        //***********************find transportID******************************
        if (request.getTransportId() != 0) {

            transport_type = em.find(TransportType.class, request.getTransportId());

            if (transport_type != null) {
                System.out.println("=====================================");
                System.out.println("transport id " + transport_type.getTransportTypeId());
                track.setTransportTypeId(transport_type);
            } else {
                response.setMessage("transport type id does not exist");
                response.setResponseCode(1);
                return response;
            }
        }
        //***********************find weatherID******************************
        //            if (request.getWeatherId() != 0) {
        //                weather = em.find(WeatherType.class, request.getWeatherId());
        //
        //                if (weather != null) {
        //                    System.out.println("=====================================");
        //                    System.out.println("weather id " + weather.getWeatherId());
        //                   
        //                } else {
        //                    response.setMessage("weather condition id does not exist");
        //                    response.setResponseCode(1);
        //                    return response;
        //                }
        //            }

        //***********************find app name******************************
        if (request.getAppId() != 0) {
            app = em.find(Apps.class, request.getAppId());

            if (app != null) {
                System.out.println("=====================================");
                System.out.println("app id " + app.getName());
                track.setAppId(app);
            } else {
                response.setMessage("application does not exist");
                response.setResponseCode(1);
                return response;
            }
        }
        //***********************find sourceId******************************
        if (request.getSourceId() != 0) {
            source = em.find(Source.class, request.getSourceId());

            if (source != null) {
                System.out.println("=====================================");
                System.out.println("source id " + source.getName());
                track.setRouteSourceId(source);
            } else {
                response.setMessage("source type id does not exist");
                response.setResponseCode(1);
                return response;
            }
        }
        //***************Create track record****************************
        em.getTransaction().begin();

        if (request.getName() != null) {
            track.setName(request.getName());
        } else {
            track.setName("");
        }

        track.setDescription(request.getDescription());
        if (request.getPicture() != null) {
            track.setPicture(request.getPicture());
        }
        track.setDistance(request.getDistance());
        track.setDuration(request.getDuration());

        track.setSpeed(request.getSpeed());
        track.setElevation(request.getElevation());

        if (request.getTrackFileCsv() != null) {

            //                String csvFile = new String(request.getTrackFileCsv());
            trackFileCsv = Base64.encodeBase64(request.getTrackFileCsv());
            track.setTrackFileCsv(trackFileCsv);
        }

        track.setRouteKlm(request.getRoute_kml());
        track.setLatStart(request.getLat_start());
        track.setLongStart(request.getLon_start());
        track.setLatEnd(request.getLat_end());
        track.setLongEnd(request.getLon_end());
        track.setCreationDate(new Date());
        track.setDatetimeStart(request.getDatetime_start());
        track.setDatetimeEnd(request.getDatetime_end());
        track.setUserId(users);
        track.setIsPublic(request.isIs_public());
        track.setStartAddress(request.getStart_address());
        track.setEndAddress(request.getEnd_address());

        if (request.getTrackRatings().size() > 0) {

            OtnServiceTrackResponse rate_response = checkTrackRateAndType(request.getTrackRatings());

            if (rate_response.getResponseCode() == 0) {
                em.persist(track);
                em.flush();
                em.getTransaction().commit();
                em.clear();

                for (OtnServicePoiRatings trackRatingList : request.getTrackRatings()) {
                    em.getTransaction().begin();
                    track_rating = new TrackRating();
                    track_rating_type = em.find(TrackRatingType.class, trackRatingList.getRatingTypeId());
                    track_rating.setTrackId(track);
                    track_rating.setTrackRatingTypeId(track_rating_type);
                    track_rating.setRate(trackRatingList.getRate());
                    track_rating.setUserId(users);

                    em.persist(track_rating);
                    em.flush();
                    em.getTransaction().commit();
                    em.clear();

                    response.setMessage("success");
                    response.setResponseCode(0);

                }

            } else {

                response.setMessage(rate_response.getMessage());
                response.setResponseCode(rate_response.getResponseCode());
                return response;
            }

        } else {
            em.persist(track);
            em.flush();
            em.getTransaction().commit();
            em.clear();

            response.setMessage("success");
            response.setResponseCode(0);

        }

        //***********************find weatherID******************************
        if (request.getWeatherList().size() > 0) {

            if (track.getTrackId() == 0) {
                em.persist(track);
                em.flush();
                em.getTransaction().commit();
                em.clear();
            }
            weatherListparams = new ArrayList<OtnServiceWeatherRatings>();
            for (OtnServiceWeatherRatings weatherList : request.getWeatherList()) {
                em.getTransaction().begin();

                weather = new Weather();
                weather_type = em.find(WeatherType.class, weatherList.getWeatherTypeId());

                if (weather_type == null) {
                    response.setMessage("weather id  does not exist");
                    response.setResponseCode(1);
                    return response;

                }

                weather.setTrackId(track);
                weather.setWeatherTypeId(weather_type);

                em.persist(weather);
                em.flush();
                em.getTransaction().commit();
                em.clear();

                response.setMessage("success");
                response.setResponseCode(0);

                weatherListparams.add(new OtnServiceWeatherRatings(weather_type.getWeatherId()));

            }
            response.setWeatherList(weatherListparams);

        }

        //***********************insert geometry points******************************
        // insert startPoint
        List<OtnServiceGeometryPoints> startPointsList = new ArrayList<OtnServiceGeometryPoints>();
        OtnServiceGeometryPoints startPoints = new OtnServiceGeometryPoints();
        startPoints.setLatitude(request.getLat_start());
        startPoints.setLongitude(request.getLon_start());
        startPointsList.add(startPoints);

        // insert endPoint
        List<OtnServiceGeometryPoints> endPointsList = new ArrayList<OtnServiceGeometryPoints>();
        OtnServiceGeometryPoints endPoints = new OtnServiceGeometryPoints();
        endPoints.setLatitude(request.getLat_end());
        endPoints.setLongitude(request.getLon_end());
        endPointsList.add(endPoints);

        /**
         * decode csv String
         */
        if (request.getTrackFileCsv() != null) {
            String trackFilecsvDecode = new String(request.getTrackFileCsv());
            /**
             * write file to folder
             */
            String urlfile = Base_url + System.currentTimeMillis() + ".csv";
            BufferedWriter writer = new BufferedWriter(new FileWriter(urlfile));
            writer.append(trackFilecsvDecode);
            writer.close();

            //            System.out.println("csv " + trackFilecsvDecode);
            // set delimeter
            CSVFormat format = CSVFormat.newFormat(';').withHeader();
            //parse csv format String
            //                log.info("1 ");
            CSVParser parser = new CSVParser(new StringReader(trackFilecsvDecode), format);

            List<OtnServiceGeometryPoints> geomPoints = new ArrayList<OtnServiceGeometryPoints>();
            //parse records (in the example 2 records)

            List timestamp = new ArrayList<String>();
            for (CSVRecord record : parser) {
                timestamp.add(record.get("Timestamp"));
                //                    System.out.println("latitude " + record.get("Latitude"));
                //                    System.out.println("Longitude " + record.get("Longitude"));
                //                    System.out.println("Timestamp " + record.get("Timestamp"));
                //                    log.info("2");
                geomPoints.add(new OtnServiceGeometryPoints(Double.parseDouble(record.get("Latitude")),
                        Double.parseDouble(record.get("Longitude"))));
            }
            //            System.out.println("number " + total_records);
            //                System.out.println("first  time" + timestamp.get(0));
            //                System.out.println("end  time" + timestamp.get(timestamp.size() - 1));
            String start_date = timestamp.get(0).toString();
            String end_date = timestamp.get(timestamp.size() - 1).toString();

            parser.close();
            //                log.info("3");
            //            if (request.getGeometryPoints() != null) {
            //                geomPoints = request.getGeometryPoints();
            //
            //            }
            insertGeometryPoints(track.getTrackId(), geomPoints, startPointsList, endPointsList, start_date,
                    end_date, urlfile);
        }
        response.setName(track.getName());
        response.setTrackId(track.getTrackId());
        response.setDescription(track.getDescription());
        response.setDistance(track.getDistance());
        response.setDuration(track.getDuration());
        if (transport_type != null) {
            response.setTransportName(transport_type.getName());
        }

        response.setSpeed(track.getSpeed());
        response.setElevation(track.getElevation());
        response.setLat_start(track.getLatStart());
        response.setLon_start(track.getLongStart());
        response.setLat_end(track.getLatEnd());
        response.setLon_end(track.getLongEnd());
        response.setDatetime_start(track.getDatetimeStart());
        response.setDatetime_end(track.getDatetimeEnd());
        response.setUserId(users.getUserId());
        response.setIs_public(track.getIsPublic());
        response.setRoute_kml(track.getRouteKlm());
        response.setTrackFileCsv(Base64.decodeBase64(track.getTrackFileCsv()));

        if (app != null) {
            response.setAppName(app.getName());
        }
        response.setStart_address(track.getStartAddress());
        response.setEnd_address(track.getEndAddress());
        //            if (weather != null) {
        //                response.setWeatherCondition(weather.getCondition());
        //            }
        if (source != null) {
            response.setSourceName(source.getName());
        }
        return response;
        //            }

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

        response.setMessage("failure");
        response.setResponseCode(2);

    } finally {

        return response;
    }

}

From source file:phonedirectory.PhoneDirectoryModel.java

public void csvToDatabase(String csv, String column[]) {

    try {/*from  w  w  w  . ja  v  a  2  s  .com*/
        Connection con = DriverManager.getConnection(url, user, password);
        stmt1 = con.createStatement();
        int i;
        CSVParser parser = new CSVParser(new FileReader(csv), format);
        for (CSVRecord record : parser) {
            stmt = con.prepareStatement("insert into person(name,address) values(?,?)");
            stmt.setString(1, record.get(0));
            stmt.setString(2, record.get(1));
            stmt.executeUpdate();
            stmt.close();

            rs = stmt1.executeQuery("select person_id from person");
            rs.last();
            int person_id = rs.getInt(1);

            stmt = con.prepareStatement("insert into phone values(?,?,?)");
            for (i = 2; i < record.size(); i++) {
                stmt.setString(1, record.get(i));
                stmt.setString(2, column[i]);
                stmt.setInt(3, person_id);
                stmt.executeUpdate();

            }
            stmt.close();

        }
        parser.close();
        con.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:ro.dabuno.office.integration.Data.java

private void readCSVFile(File csvFile) throws IOException {
    // open file/*  www  .j a  va  2 s.  c om*/
    // List<String> lines = FileUtils.readLines(file, null);
    try (Reader reader = new FileReader(csvFile)) {
        CSVFormat strategy = CSVFormat.DEFAULT.withHeader().withDelimiter(',').withQuote('"')
                .withCommentMarker((char) 0).withIgnoreEmptyLines().withIgnoreSurroundingSpaces();

        try (CSVParser parser = new CSVParser(reader, strategy)) {
            Map<String, Integer> headerMap = parser.getHeaderMap();
            for (Map.Entry<String, Integer> entry : headerMap.entrySet()) {
                headers.add(entry.getKey());
                log.info("Had header '" + entry.getKey() + "' for column " + entry.getValue());
            }

            List<CSVRecord> lines = parser.getRecords();
            log.info("Found " + lines.size() + " lines");
            for (CSVRecord line : lines) {
                List<String> data = new ArrayList<>();
                for (int pos = 0; pos < headerMap.size(); pos++) {
                    if (line.size() <= pos) {
                        data.add(null);
                    } else {
                        data.add(line.get(pos));
                    }
                }

                values.add(data);
            }
        }
    }
}

From source file:ro.pippo.csv.CsvEngine.java

@Override
@SuppressWarnings("unchecked")
public <T> T fromString(String content, Class<T> classOfT) {
    if (!classOfT.isArray()) {
        if (Collection.class.isAssignableFrom(classOfT)) {
            // Collections are NOT supported for deserialization from CSV
            throw new RuntimeException("Collection types are not supported. Please specify an array[] type.");
        }/*from w  w w. j  a v a2 s  .co m*/
        throw new RuntimeException(
                String.format("Array[] types are required. Please specify %s[]", classOfT.getName()));
    }

    Class<?> objectType = classOfT.getComponentType();
    int currentLine = 0;
    try (CSVParser parser = new CSVParser(new StringReader(content), getCSVFormat().withHeader())) {
        Set<String> columns = parser.getHeaderMap().keySet();
        Map<String, Field> fieldMap = getFieldMap(objectType);

        Constructor<?> objectConstructor;
        try {
            objectConstructor = objectType.getConstructor();
        } catch (NoSuchMethodException e) {
            throw new RuntimeException("A default constructor is required for " + objectType.getName());
        }

        List objects = new ArrayList<>();
        for (CSVRecord record : parser) {
            currentLine++;

            Object o = objectConstructor.newInstance();
            for (String column : columns) {
                Field field = fieldMap.get(caseSensitiveFieldNames ? column : column.toLowerCase());
                String value = record.get(column);
                Object object = objectFromString(value, field.getType());
                field.set(o, object);
            }

            objects.add(o);
        }

        Object array = Array.newInstance(objectType, objects.size());
        for (int i = 0; i < objects.size(); i++) {
            Array.set(array, i, objects.get(i));
        }

        return (T) array;
    } catch (Exception e) {
        throw new RuntimeException("Failed to parse CSV near line #" + currentLine, e);
    }
}

From source file:test.com.xceptance.xlt.common.actions.LWSimpleURLTest.java

/**
 * Create records from string//  w  w w  .ja  va  2 s  .  c o m
 */
private List<CSVRecord> createRecords(final String... records) throws IOException {
    final StringBuilder fullRecord = new StringBuilder();

    for (final String record : records) {
        fullRecord.append(record.replace("{url}", testUrl));
        fullRecord.append("\n");
    }

    final CSVFormat csvFormat = CSVFormat.RFC4180.toBuilder().withIgnoreEmptyLines(true).withCommentStart('#')
            .withHeader().build();
    final CSVParser parser = new CSVParser(fullRecord.toString(), csvFormat);

    return parser.getRecords();
}

From source file:test.com.xceptance.xlt.common.util.AbstractCSVBasedURLAction_Test.java

/**
 * Create records from string/* w  w  w . j a v  a  2  s  . com*/
 */
protected List<CSVRecord> createRecords(final String... records) throws IOException {
    final StringBuilder fullRecord = new StringBuilder();

    for (final String record : records) {
        fullRecord.append(record);
        fullRecord.append("\n");
    }

    final CSVFormat csvFormat = CSVFormat.RFC4180.toBuilder().withIgnoreEmptyLines(true).withCommentStart('#')
            .withHeader().build();
    final CSVParser parser = new CSVParser(fullRecord.toString(), csvFormat);

    return parser.getRecords();
}

From source file:test.com.xceptance.xlt.common.util.CSVBasedURLActionTest.java

/**
 * Create records from string/*from w ww  . j a  v  a 2s .  c om*/
 */
private List<CSVRecord> createRecords(final String... records) throws IOException {
    final StringBuilder fullRecord = new StringBuilder();

    for (final String record : records) {
        fullRecord.append(record);
        fullRecord.append("\n");
    }

    final CSVFormat csvFormat = CSVFormat.RFC4180.toBuilder().withIgnoreEmptyLines(true).withCommentStart('#')
            .withHeader().build();
    final CSVParser parser = new CSVParser(fullRecord.toString(), csvFormat);

    return parser.getRecords();
}