I wanted to know if there is a way to check and validate a field when using the CsvRoutines package. Basically I want to process a row if the first column has only numbers and skip/possibly throw an exception otherwise. I'm guessing @Validate annotation released in 2.7.0 can be used to achieve this. But I would like to know if there is any other way to achieve the same with earlier versions like 2.5.9?
Validate parsed fields using Univocity Parser
710 Views Asked by user2220232 At
1
There are 1 best solutions below
Related Questions in UNIVOCITY
- Error while reading very large files with spark csv package
- uniVocity parsers to handle two files
- How to parse TSV data into nested objects
- Parse CSV file but no formatting except delimiting the data
- Using Univocity, how can I convert a date string value to a Date type in Java
- Convert flattened CSV to nested JSON
- Format ResultSet to specific DecimalFormat in Univocity Parser
- univocity csv parser setTypeOfColumns not working
- Univocity CSV parser glues the whole line if it begins with quote "
- Premature EOF when loading large CSV file using univocity parser.
- How to parse a CSV with JSON fields containing separator?
- Validate parsed fields using Univocity Parser
- Can't parse Date with Univocity parser
- Univocity-parsers FixedWidth parsing with multiple records per line
- Using univocity to parse two different csv files and write into new csv file
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Author of the library here. There's no other way other than updating to the latest version. Is there any reason in particular why you can't upgrade?
Update: you can put the
@Parsedannotations on the class' getters or setters and perform the validations in them. That is probably the cleanest way to go about it. For example:Another alternative is to use a custom conversion class. Copy the code of class ValidatedConversion, used in the newest version, then create subclass like:
Now on your code, use this:
I didn't test this against an old version. I think you may need to set flag
applyDefaultConversion=falsein the@Parsedannotation, and make your conversion class convert aStringinto anintin addition to run the validations.All in all, that's quite a bit of work that can easily be avoided just by upgrading to the latest version.