|
Loading...
|
factor-talk@lists.sourceforge.net
[Prev] Thread [Next] | [Prev] Date [Next]
[Factor-talk] Learning Factor - string, array and io handling - beginner Robert Herman Sat Mar 10 05:00:56 2012
I solved Windows-specific installation issues I had with Factor, and now I have moved on to playing with Factor. I thought I would best learn it by trying to accomplish a work-related task with it instead of just trying to rewrite some previous python code. Anyway, I have a CSV formatted file that has been exported from an Excel file. The original Excel sheet was laid out like a horizontal form, so there is no easy relationship between headers and rows. Please forgive me, and tell me if I should put the code or file snippet elsewhere, and I will do so in future posts. Here is a sample of the CSV output: "Show Report",,,, > > ,,,, > > "Show Name:","TTTTT1 ",,, > > "Show Date:","24/02/2012 (Fri)",,, > > "Show Time:",05:00:00 PM,,, > > "Venue:","DDDDDD WWWWW TTTTTTT",,, > > ,,,, > > "Door Open:",04:30:00 PM,,"Admission Time:","30 mins" > > ,,,, > > "Announcement:",05:00:00 PM,,, > > ,,,, > > "Show Start:",05:02:00 PM,,"Show End:",06:29:00 PM > > ,,,, > > "Door Close:",06:37:00 PM,,"Dismission Time","8 mins" > > ," ",,, > > "Duration:","87 mins",,, > > ,,,, > > "Ticket issued:",1029,,"Total Attendance",998 > > ,,,, > > "Remarks:","1. blah blah blah blah blah blah blah blah blah.",,, > > ,,,, > > ,,,, > > ,,,, > > ,,,, > > "Incidents:",,,, > > I simply wanted the value right after Show Date: 24/02/2012, Ticket issued: 1029 and Total Attendance 998, like so: 24/02/2012,1029,998 I don't need headers. Here is the code I have been using in the listener: USING: io.encodings.ascii io.encodings.utf8 regexp csv > > >> "resource:work\\ATT\\ATT1.csv" ascii file-lines > > [ R/ Date|Ticket/ re-contains? ] filter > > dup > > 0 swap nth > > #! "\r\n" append > > swap > > 1 swap nth > > 23 cut > > swap > > #! "\r\n" append > > swap > > 3append > > "resource:work\\ATT\\parsed.csv" utf8 set-file-contents > > This gets me 95% of the way there, but it is surely not the cleanest or Factor-like way to go. Here's the file contents results: > "Show Date:","24/02/2012 (Fri)",,,"Ticket issued:",1029,,"Total > Attendance",998 Using a series of cuts could get me there, but is very inefficient. I tried other regexp like re-split on comma and re-replace with blanks, but these threw errors, or returned with no effect. Any tips on other functions or structures would be most appreciated. I tried slice, joins, the CSV library,and some others, but mainly received errors asking for a string, when the Inspector showed that I had a string on the top of the stack. How can I index the string like: string[0] or string[2:4]? Or some other way of achieving the end results? Thanks. I hope the post is not too long... Rob
------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________ Factor-talk mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/factor-talk
- [Factor-talk] Learning Factor - string, array and io handling - beginner Robert Herman 2012/03/10 <=
- Re: [Factor-talk] Learning Factor - string, array and io handling - beginner Marshall Lochbaum 2012/03/10
- Re: [Factor-talk] Learning Factor - string, array and io handling - beginner Joe Groff 2012/03/10
- Re: [Factor-talk] Learning Factor - string, array and io handling - beginner Robert Herman 2012/03/11
- Re: [Factor-talk] Learning Factor - string, array and io handling - beginner Joe Groff 2012/03/11
- Re: [Factor-talk] Learning Factor - string, array and io handling - beginner Robert Herman 2012/03/14
- Re: [Factor-talk] Learning Factor - string, array and io handling - beginner John Benediktsson 2012/03/14
- Re: [Factor-talk] Learning Factor - string, array and io handling - beginner Robert Herman 2012/03/15