Sample code for reading a CSV file

Nonsanity form at
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> 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.
> _______________________________________________
> use-livecode mailing list
> use-livecode at
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:

More information about the Use-livecode mailing list