Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/svenvc/NeoCSV

NeoCSV is an elegant and efficient standalone Smalltalk framework to read and write CSV converting to or from Smalltalk objects.
https://github.com/svenvc/NeoCSV

csv data-interchange mapping pharo smalltalk

Last synced: 3 months ago
JSON representation

NeoCSV is an elegant and efficient standalone Smalltalk framework to read and write CSV converting to or from Smalltalk objects.

Awesome Lists containing this project

README

        

# NeoCSV

NeoCSV is an elegant and efficient standalone Smalltalk framework to read and write CSV converting to or from Smalltalk objects.

[![CI](https://github.com/svenvc/NeoCSV/actions/workflows/CI.yml/badge.svg)](https://github.com/svenvc/NeoCSV/actions/workflows/CI.yml)

MIT Licensed.

A chapter in the [Enterprise Pharo](https://books.pharo.org/enterprise-pharo/) book is a good introduction to [NeoCSV](https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/NeoCSV/NeoCSV.html).

Go ahead and read the [NeoCSV paper](https://github.com/svenvc/docs/blob/master/neo/neo-csv-paper.md).

Basically, NeoCSV deals with a format that
- is text based (ASCII, Latin1, Unicode)
- consists of records, 1 per line (any line ending convention)
- where records consist of fields separated by a delimiter (comma, tab, semicolon)
- where every record has the same number of fields
- where fields can be quoted should they contain separators or line endings

https://en.wikipedia.org/wiki/Comma-separated_values

## Installation

You can load NeoCSV using Metacello

```Smalltalk
Metacello new
repository: 'github://svenvc/NeoCSV/repository';
baseline: 'NeoCSV';
load.
```

You can use the following dependency from your own Metacello configuration or baseline

```Smalltalk
spec baseline: 'NeoCSV' with: [ spec repository: 'github://svenvc/NeoCSV/repository' ].
```