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

Reply via email to