Rudolf,
That is perfect! Thank you so much. I love the simple yet elegant solutions.
I tested it with the large file and it works great. And best of all, it is
included in the basic system.
Sincerely,
Joe.
> On Jun 18, 2016, at 12:25 PM, Rudolf Rednose [via Smalltalk]
> <ml-node+s1294792n4901691...@n4.nabble.com> wrote:
>
> Hello Joseph, maybe
> findTokens:',' escapedBy: '"'
> is sufficient.
>
> for example:
> |data fields|
> data := OrderedCollection new.
> data add: '02/04/2016 Thu,,"COSTCO WHSE #0388 000000000990388 - OAK BROOK,
> IL",,,,,37.00,,,,,,,,' copy.
> data add: '02/05/2016 Fri,,"ELECTRONIC PAYMENT
> RECEIVED-THANK",,,,,-443.52,,,,,,,,' copy.
> data add: '02/06/2016 Sat,,"COSTCO WHSE #1088 000000000991088 - BOLINGBROOK,
> IL",,,,,50.86,,,,,,,,' copy.
> data do:[ :item |
> fields := item findTokens:',' escapedBy: '"'.
> "show result in Transcript"
> Transcript cr; show: 'Line: ', item; cr; show: 'Number of Fields:',
> fields size asString; cr.
> 1 to: fields size do:[:n| Transcript show:( n asString,' [', (fields
> at: n),']');cr]
> ].
>
> Line: 02/04/2016 Thu,,"COSTCO WHSE #0388 000000000990388 - OAK BROOK,
> IL",,,,,37.00,,,,,,,,
> Number of Fields:16
> 1 [02/04/2016 Thu]
> 2 []
> 3 [COSTCO WHSE #0388 000000000990388 - OAK BROOK, IL]
> 4 []
> 5 []
> 6 []
> 7 []
> 8 [37.00]
> 9 []
> 10 []
> 11 []
> 12 []
> 13 []
> 14 []
> 15 []
> 16 []
> Line: 02/05/2016 Fri,,"ELECTRONIC PAYMENT RECEIVED-THANK",,,,,-443.52,,,,,,,,
> Number of Fields:16
> 1 [02/05/2016 Fri]
> 2 []
> 3 [ELECTRONIC PAYMENT RECEIVED-THANK]
> 4 []
> 5 []
> 6 []
> 7 []
> 8 [-443.52]
> 9 []
> 10 []
> 11 []
> 12 []
> 13 []
> 14 []
> 15 []
> 16 []
> Line: 02/06/2016 Sat,,"COSTCO WHSE #1088 000000000991088 - BOLINGBROOK,
> IL",,,,,50.86,,,,,,,,
> Number of Fields:16
> 1 [02/06/2016 Sat]
> 2 []
> 3 [COSTCO WHSE #1088 000000000991088 - BOLINGBROOK, IL]
> 4 []
> 5 []
> 6 []
> 7 []
> 8 [50.86]
> 9 []
> 10 []
> 11 []
> 12 []
> 13 []
> 14 []
> 15 []
> 16 []
>
> Sincerely,
> Rudolf.
> Gesendet: Freitag, 17. Juni 2016 um 22:42 Uhr
> Von: "Joseph Alotta" <[hidden email]>
> An: [hidden email]
> Betreff: [Newbies] CSV file help
> Greetings,
>
> I am needing conceptual help with parsing these troublesome CSV files. I was
> breaking the lines using String >> findToken:
> but I found lines where extra deliminators were added. Notice the three
> following lines, the first and third line have extra commas from Oak Brook,
> IL and the second line does not have the comma.
>
>
> 02/04/2016 Thu,,"COSTCO WHSE #0388 000000000990388 - OAK BROOK,
> IL",,,,,37.00,,,,,,,,
> 02/05/2016 Fri,,"ELECTRONIC PAYMENT RECEIVED-THANK",,,,,-443.52,,,,,,,,
> 02/06/2016 Sat,,"COSTCO WHSE #1088 000000000991088 - BOLINGBROOK,
> IL",,,,,50.86,,,,,,,,
>
> I think I need to parse with the double quotes in mind, but I don’t know
> where to break it.
>
> Also, I was reading in the squeak pages that someone had already written code
> for this, but I couldn’t find anything.
>
> http://wiki.squeak.org/squeak/3260 has two methods, CSVSubstrings and
> SequenceableCollection-asCSVLine.st
>
> Does anyone know where these are now?
>
> Sincerely,
>
> Joe.
>
>
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
> If you reply to this email, your message will be added to the discussion
> below:
> http://forum.world.st/CSV-file-help-tp4901546p4901691.html
> To start a new topic under Squeak - Beginners, email
> ml-node+s1294792n107673...@n4.nabble.com
> To unsubscribe from Squeak - Beginners, click here.
> NAML
--
View this message in context:
http://forum.world.st/CSV-file-help-tp4901546p4901718.html
Sent from the Squeak - Beginners mailing list archive at Nabble.com.
_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners