[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [babel] Expertise in string manipulation available?
From: |
Nick Dokos |
Subject: |
Re: [O] [babel] Expertise in string manipulation available? |
Date: |
Wed, 10 Aug 2011 18:17:04 -0400 |
Sebastien Vauban <address@hidden> 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
>
>