emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Insert a line separator in table results


From: Thorsten Jolitz
Subject: Re: [O] Insert a line separator in table results
Date: Thu, 17 Jul 2014 00:54:25 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Xavier Garrido <address@hidden> writes:

Hi Xavier,

> I would like to be able to do it with =python=... Maybe it is only
> possible with =emacs-lisp= as you suggest.

I don't know python and cannot try it out here either ... but it should
be exactly the same thing:

build and return a list that consists of lists (each table row one list)
and 'hline symbols (each hline one separator line). Does python have
lists and symbols? The latter probably not...

This could be your strategy:
1. build and return a string in (named) python src-block that contains
   a 'table-list' (rows and hlines)
2. use that python-src-block as var for and elisp src-block:
   #+header: :var lst=myPythonBlock
3. read-from-string that list in emacs-lisp
   (read-from-string lst)
4. return the car from the result in source-block

#+name: myPythonBlock
#+begin_src emacs-lisp   # should be python
 (concat "((1 2 3) hline (4 5 6)"
         " (a b c) hline (e f g))")
#+end_src

#+results: myPythonBlock
: ((1 2 3) hline (4 5 6) (a b c) hline (e f g))

#+header: :var lst=myPythonblock
#+begin_src emacs-lisp :results table
 (car (read-from-string lst))
#+end_src

#+results:
| 1 | 2 | 3 |
|---+---+---|
| 4 | 5 | 6 |
| a | b | c |
|---+---+---|
| e | f | g |


but maybe a python programmer can tell you how to do it directly from
python.

> Le 16/07/2014 21:15, Thorsten Jolitz a écrit :
>> Xavier Garrido <address@hidden> writes:
>>
>>> Dear orgers,
>>>
>>> I would like to programmatically insert a line separator when generating
>>> a table result. Below is a minimal working example with =python=
>>> src block
>>>
>>> #+BEGIN_SRC python
>>>     x = [("label 1", "label 2", "label 3"), ("-", "-", "-")]
>>>     x.append((4, 5, 6))
>>>     x.append((7, 8, 9))
>>>     return (x)
>>> #+END_SRC
>>>
>>> #+RESULTS:
>>> | label 1 | label 2 | label 3 |
>>> |       - |       - |       - |
>>> |       4 |       5 |       6 |
>>> |       7 |       8 |       9 |
>>>
>>> Is there any possibility to interpret dash as line separator ?
>>
>> #+begin_src emacs-lisp :results table
>>   (list '(1 2 3) 'hline '(a b c) '(d e f) 'hline '(4 5 6))
>> #+end_src
>>
>> #+results:
>> | 1 | 2 | 3 |
>> |---+---+---|
>> | a | b | c |
>> | d | e | f |
>> |---+---+---|
>> | 4 | 5 | 6 |

-- 
cheers,
Thorsten




reply via email to

[Prev in Thread] Current Thread [Next in Thread]