Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/svenvc/NeoCSV
- Owner: svenvc
- License: mit
- Created: 2013-07-08T11:14:04.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-06-19T18:28:28.000Z (5 months ago)
- Last Synced: 2024-06-20T07:33:44.323Z (5 months ago)
- Topics: csv, data-interchange, mapping, pharo, smalltalk
- Language: Smalltalk
- Size: 181 KB
- Stars: 29
- Watchers: 6
- Forks: 13
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
- awesome-pharo-ml - CSV - NeoCSV is an elegant and efficient standalone Smalltalk framework to read and write CSV converting to or from Smalltalk objects. (Data Collection)
- awesome-pharo - CSV - NeoCSV is an elegant and efficient standalone Smalltalk framework to read and write CSV converting to or from Smalltalk objects. (Data interexchange format)
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 endingshttps://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' ].
```