Skip to content

CraigSDel/csv-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSV Data Validator 📊

This Java project provides a dynamic CSV data validation tool. It allows you to validate CSV files against custom rules and ensure data integrity. Whether you're dealing with financial records, user data, or any other structured data in CSV format, this tool has got you covered! 🚀

Features

  • Dynamic Rules: Define your own validation rules based on column names, data types, and specific conditions.
  • Efficient Processing: Utilizes efficient algorithms to process large CSV files without consuming excessive memory.

Getting Started

  1. Clone this repository:

        git clone https://github.com/CraigSDel/csv-validator.git
  2. Build the project:

        cd csv-validator
        mvn clean install
  3. Create a list of validators to validate the data in a CSV:

         List<Validator> validators = new ArrayList<>();
         validators.add(StringValidator.builder().columnDescription("channel_title").build());
         validators.add(IntegerValidator.builder().columnDescription("category_id").build());
         validators.add(DateValidator.builder().columnDescription("publish_time").validationPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").build());
         validators.add(LinkValidator.builder().columnDescription("thumbnail_link").validationPattern("^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]").build());
  4. Create a Data validator:

         DataValidator dataValidator = DataValidator.builder().columnValidators(columnValidators).firstRowIsHeader(Boolean.TRUE).delimiter(",").build();
         assertEquals(0, dataValidator.validateCsvDataReturningFailures(getFile()).size());

About

A simple CSV content validator

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages