readervzrd

Crates.ioreadervzrd
lib.rsreadervzrd
version0.1.1
sourcesrc
created_at2024-02-15 08:32:40.66575
updated_at2024-10-21 13:06:28.922419
descriptionA generic reader for csv and json data
homepage
repositoryhttps://github.com/datavzrd/readervzrd/
max_upload_size
id1140790
size23,590
Felix Wiegand (fxwiegand)

documentation

README

GitHub Workflow Status codecov

readervzrd

Readervzrd is a Rust library that provides utilities for reading tabular data from files without worrying if they are formatted as CSV or JSON. It offers flexible functionality to extract headers and iterate over records, supporting different file formats and structures.

Features

  • Supports uniform reading of data from CSV and JSON files.
  • Extracts headers from files.
  • Iterate over records
  • Handling of nested JSON structures

Installation

To use readervzrd in your Rust project, add it as a dependency in your Cargo.toml file:

[dependencies]
readervzrd = "0.1.0"

Usage

use readervzrd::{FileReader, FileError};

fn main() -> Result<(), FileError> {
    // Create a FileReader for a CSV file with ',' delimiter
    let mut reader = FileReader::new("data.csv", Some(','))?;

    // Create another FileReader for a JSON file
    let mut another_reader = FileReader::new("data.json", None)?;

    // Get headers from the file
    let headers = reader.headers()?;
    println!("Headers: {:?}", headers);

    // Iterate over records and process them
    for record in reader.records()? {
        println!("Record: {:?}", record);
    }

    Ok(())
}

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or create a pull request on GitHub.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Commit count: 39

cargo fmt