Sample code for reading a CSV file
Nonsanity
form at nonsanity.com
Thu Feb 17 13:45:59 EST 2011
I threw a quick one together, because little problems like this always
intrigue me. :)
New stack, made two fields and a button, and put the source CSV list in the
first. Button script as:
on mouseUp
put "" into o
put fld 1 into x
repeat with a = 1 to the number of lines in x
put line a of x into xx
set itemdel to quote
repeat with b = 1 to the number of items in xx
if trunc(b/2) = (b/2) then replace comma with numtochar(2) in item
b of xx
end repeat
set itemdel to comma
repeat with b = 1 to the number of items in xx
get item b of xx
replace numtochar(2) with comma in it
put it & return after o
end repeat
put "--------------------" & return after o
end repeat
put o into fld 2
end mouseUp
As long as quoted items don't have return charters in them, this should
work. If that IS a possibility, it would get a tad more complicated.
~ Chris Innanen
~ Nonsanity
On Thu, Feb 17, 2011 at 1:16 PM, Paul Dupuis <paul at researchware.com> wrote:
> So I am tired of reinventing the proverbial wheel over and over again.
>
> I have a new project that I want to read a CSV file for. Obviously reading
> the file is easy. And is it was tab separated instead of comma, parsing out
> the rows and columns is easy as well. However, with comma seperated data
> where some columns contain string with commas in then that are encapsulated
> in quotes, just plowing through the itemDelimiter and lineDelimter doesn't
> work.
>
> So before I bother to write code to handle encapsulated CSV data, I thought
> I'd ask if anyone on the use-list has existing code to handle CSV's that
> they'd be willing to share.
>
> --
> Paul Dupuis
> Cofounder
> Researchware, Inc.
> http://www.researchware.com/
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
More information about the use-livecode
mailing list