From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: [babel] Expertise in string manipulation available? Date: Wed, 10 Aug 2011 18:17:04 -0400 Message-ID: <6036.1313014624@alphaville.americas.hpqcorp.net> References: <801uwtapvu.fsf@somewhere.org> Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([140.186.70.92]:56554) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrH5J-0001L1-Dx for emacs-orgmode@gnu.org; Wed, 10 Aug 2011 18:17:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QrH5H-0003hu-TH for emacs-orgmode@gnu.org; Wed, 10 Aug 2011 18:17:09 -0400 Received: from g1t0029.austin.hp.com ([15.216.28.36]:11970) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrH5H-0003hl-Me for emacs-orgmode@gnu.org; Wed, 10 Aug 2011 18:17:07 -0400 In-Reply-To: Message from "Sebastien Vauban" of "Thu, 11 Aug 2011 00:00:21 +0200." <801uwtapvu.fsf@somewhere.org> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Sebastien Vauban Cc: nicholas.dokos@hp.com, emacs-orgmode@gnu.org Sebastien Vauban wrote: > Hello, > > #+TITLE: String manipulation > > * Data > > #+tblname: list-of-couples > | Me | @Here | > | Myself and I | @There | > > * Successful outcome > > I expect the above table to be transformed to those lines: > > #+begin_example > --- > Me > @Here > --- > Myself and I > @There > #+end_example > I can do it easily in python except that I don't know how to produce the #+begin/end_example block. My results are preceded by colons: --8<---------------cut here---------------start------------->8--- * Data #+tblname: list-of-couples | Me | @Here | | Myself and I | @There | #+begin_src python :var table=list-of-couples :exports code :results output :tangle no for row in table: print "---" for i in range(len(row)): print row[i] #+end_src #+results: : --- : Me : @Here : --- : Myself and I : @There --8<---------------cut here---------------end--------------->8--- Nick > * First attempt > > ** Code and output > > #+begin_src awk :stdin list-of-couples :exports code :results output :tangle no > { > print "---"; > print $1; > print $2; > } > #+end_src > > #+results: > #+begin_example > --- > Me > @Here > --- > Myself > and > #+end_example > > ** Issue > > The first line of the table is perfectly outputted. > > The second line is not, because of the space in its first column: $2 refers > then to the second word, not to the string of the second column. > > * Second attempt > > ** Code and output > > #+begin_src emacs-lisp :var data=list-of-couples :exports results :results output :tangle no > (mapc > (lambda (item) > (print (format "---\n%s\n%s\n" > (first item) > (second item)))) > data) > #+end_src > > #+results: > #+begin_example > > "--- > Me > @Here > " > > "--- > Myself and I > @There > " > #+end_example > > ** Issue > > Literal double quotes are inserted in the output. Plus blank lines... > > Best regards, > Seb > > -- > Sebastien Vauban > >