DEV Community

Discussion on: 9 Steps to Get 100 Stars on GitHub

Collapse
 
anatolyscherbakov profile image
Anatoly Scherbakov

I would like feedback to ysv. This is a command line program which reads CSV data from stdin and accepts a configuration file name as a command line argument. Its job is to create a new CSV file based on that configuration. Example configuration:

version: 1
columns:
  year:
    - input: year
  make:
    - input: make
    - uppercase
    - replace:
        MERCEDES-BENZ: MERCEDES
  model:
    - input: model
    - uppercase

The purpose is to simplify ETL jobs and clean data before it gets into a database. Stage of development is very early, as is my level of understanding Rust.

I have seen that a lot of tedious work has to be done to clean up data, standardize column names and formats, and this tool aims to resolve that pain using a simple DSL.