Here's a general function for extracting a column or columns from a tab-del table, based on a handler by Mike Doub for deleting columns. IIRC there was an exchange in this list re bug checking and generally tuning it up, and the handler I saved in my library came out of that discussion.
-- Peter Peter M. Brigham pmb...@gmail.com http://home.comcast.net/~pmbrig --------------- function getColumns pData, pColNbrs, pDelim -- Extract specified columns from a table in order -- pData: a tab-delimited table (delim may be overridden with pDelim) -- pColNbrs: A comma separated list of columns or column ranges -- to be returned in the order indicated, for example "2,7,5" -- or an ascending column range: "3-5" -- or a descending column range: "5-3" -- or a combination "7,4-5,2,11-9" -- based on deleteColumns() by Michael Doub et. al., use-LC list if pColNbrs = empty then return pData if pDelim = empty then put tab into pDelim -- first expand column ranges repeat for each item pCol in pColNbrs put offset("-",pCol) into dashPos if dashPos = 0 then put pCol & comma after tColsToReturn else if dashPos = 1 then -- for column numbers like -1, -2, etc. put howMany(pDelim,line 1 of pData) + 1 into nbrItems put pCol + 1 + nbrItems & comma after tColsToReturn else -- a column range put char 1 to dashPos-1 of pCol into firstColNbr put char dashPos+1 to -1 of pCol into lastColNbr if firstColNbr < lastColNbr then repeat with i = firstColNbr to lastColNbr put i & comma after tColsToReturn end repeat else repeat with i = firstColNbr down to lastColNbr put i & comma after tColsToReturn end repeat end if end if end repeat delete char -1 of tColsToReturn -- then extract columns in order set the columnDelimiter to pDelim split pData by column repeat for each item n in tColsToReturn add 1 to x put pData[n] into rData[x] end repeat combine rData by column return rData end getColumns On Jul 11, 2015, at 7:56 PM, JB wrote: > If you want to get all the items in a column > Richard Gaskin wrote a excellent function > specifically for that. Like all of his code it > is fast. > > John Balgenorth > > > On Jul 11, 2015, at 4:45 PM, dunb...@aol.com wrote: > >> The colunDelimiter will not. in and of itself, extract, say, the third item >> of all the lines in a tab and return formatted dataSet. DataGrids have this >> sort of functionality built-in, but that is still constructed from standard >> LC techniques. >> As per the above, if you wanted that third item all down the table, you have >> to loop through each line and dig it out, as others have already said. >> >> >> Craig Newman >> >> >> >> -----Original Message----- >> From: Peter Haworth <p...@lcsql.com> >> To: How to use LiveCode <use-livecode@lists.runrev.com> >> Sent: Sat, Jul 11, 2015 6:36 pm >> Subject: Re: Table field >> >> >> What Mike said. It's somewhat confusing since there is a >> "columndelimiter" >> property which is set to tab by default but it seems to only >> be used in >> conjunction with the split command. >> >> On Sat, Jul 11, 2015 at 12:57 >> PM Mike Bonner <bonnm...@gmail.com> wrote: >> >>> Its tab and cr delimited data, >> so set the itemdelimiter to tab and get item >>> 2 o fline 3 of field "xxx" >>> >>> >> On Sat, Jul 11, 2015 at 1:51 PM, Richmond <richmondmathew...@gmail.com> >>> >> wrote: >>> >>>> I have a table field containing some data I copy pasted from a >>> >> spreadsheet >>>> >>>> [being unable to find a reliable way to import data >> directly from a >>>> spreadsheet] >>>> >>>> that runs across 3 columns. >>>> >>> >>> When I tried this: >>>> >>>> put column 2 of line 3 of fld "XXX" >>>> >>>> I >> had no joy. >>>> >>>> I would be grateful if someone could tell me how to >> extract data from >>>> individual cells in a table field. >>>> >>>> Richmond. >>> >>> >>>> _______________________________________________ >>>> use-livecode mailing >> list >>>> use-livecode@lists.runrev.com >>>> Please visit this url to subscribe, >> unsubscribe and manage your >>>> subscription preferences: >>>> >> http://lists.runrev.com/mailman/listinfo/use-livecode >>>> >>> >> _______________________________________________ >>> use-livecode mailing list >>> >> use-livecode@lists.runrev.com >>> Please visit this url to subscribe, unsubscribe >> and manage your >>> subscription preferences: >>> >> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> _______________________________________________ >> use-livecode >> mailing list >> use-livecode@lists.runrev.com >> Please visit this url to subscribe, >> unsubscribe and manage your subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> >> _______________________________________________ >> use-livecode mailing list >> use-livecode@lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode