2015-01-23 18:00 GMT-03:00 Sven Van Caekenberghe <s...@stfx.eu>: > > > On 23 Jan 2015, at 20:53, Hernán Morales Durand < > hernan.mora...@gmail.com> wrote: > > > > Hi Sven, > > > > 2015-01-23 16:06 GMT-03:00 Sven Van Caekenberghe <s...@stfx.eu>: > > Hi Hernán, > > > > > On 23 Jan 2015, at 19:50, Hernán Morales Durand < > hernan.mora...@gmail.com> wrote: > > > > > > I used to use a CSV parser from Squeak where I could attach > conditional iterations: > > > > > > csvParser rowsSkipFirst: 2 do: [: row | " some action ignoring first 2 > fields on each row " ]. > > > csvParser rowsSkipLast: 2 do: [: row | " some action ignoring last 2 > fields on each row " ]. > > > > With NeoCSVParser you can describe how each field is read and converted, > using the same mechanism you can ignore fields. Have a look at the senders > of #addIgnoredField from the unit tests. > > > > > > I am trying to understand the implementation, I see you included > #addIgnoredFields: for consecutive fields in > Neo-CSV-Core-SvenVanCaekenberghe.21 > > A question about usage then, adding ignored field(s) requires adding > field types on all other remaining fields? > > Yes, like this: > > testReadWithIgnoredField > | input | > input := (String crlf join: #( '1,2,a,3' '1,2,b,3' '1,2,c,3' '')). > self > assert: ((NeoCSVReader on: input readStream) > addIntegerField; > addIntegerField; > addIgnoredField; > addIntegerField; > upToEnd) > equals: { > #(1 2 3). > #(1 2 3). > #(1 2 3).} > >
May be you like to know if you make a pass to NeoCSV, for some data sets I have 1 million of columns, it would be nice an addFieldsInterval: or such. Thank you. Hernán