NeoCSV integration

October 21, 2019 ยท View on GitHub

Iterators project provides a layer to integrate with NeoCSV framework.

Let say the file /tmp/example.csv was created as follow:

FileLocator temp / 'example.csv' writeStreamDo: [ :writeStream |
	writeStream nextPutAll: 'a,b,c
d,e,f
g,h,i' ].

An iterator can be retrieved from a NeoCSVReader instance via #iterator (to get an iterator wrapped by IteratorWithCollectionAPI decorator) or #basicIterator messages.

FileLocator temp / 'example.csv' readStreamDo: [ :readStream |
	(NeoCSVReader on: readStream) iterator
		| FlattenIterator
		| #first collectIt
		| #uppercase collectIt
		> String ] "'ABCDEFGHI'"