* Insert a line separator in table results
@ 2014-07-16 19:06 Xavier Garrido
2014-07-16 19:15 ` Thorsten Jolitz
0 siblings, 1 reply; 6+ messages in thread
From: Xavier Garrido @ 2014-07-16 19:06 UTC (permalink / raw)
To: emacs-orgmode@gnu.org
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 ?
Thanks for your help,
Xavier
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Insert a line separator in table results
2014-07-16 19:06 Insert a line separator in table results Xavier Garrido
@ 2014-07-16 19:15 ` Thorsten Jolitz
2014-07-16 22:13 ` Xavier Garrido
0 siblings, 1 reply; 6+ messages in thread
From: Thorsten Jolitz @ 2014-07-16 19:15 UTC (permalink / raw)
To: emacs-orgmode
Xavier Garrido <xavier.garrido@gmail.com> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Insert a line separator in table results
2014-07-16 19:15 ` Thorsten Jolitz
@ 2014-07-16 22:13 ` Xavier Garrido
2014-07-16 22:37 ` Arun Persaud
2014-07-16 22:54 ` Thorsten Jolitz
0 siblings, 2 replies; 6+ messages in thread
From: Xavier Garrido @ 2014-07-16 22:13 UTC (permalink / raw)
To: Thorsten Jolitz, emacs-orgmode
Dear Thorsten,
I would like to be able to do it with =python=... Maybe it is only
possible with =emacs-lisp= as you suggest.
Xavier
Le 16/07/2014 21:15, Thorsten Jolitz a écrit :
> Xavier Garrido <xavier.garrido@gmail.com> 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 |
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Insert a line separator in table results
2014-07-16 22:13 ` Xavier Garrido
@ 2014-07-16 22:37 ` Arun Persaud
2014-07-17 6:28 ` Xavier Garrido
2014-07-16 22:54 ` Thorsten Jolitz
1 sibling, 1 reply; 6+ messages in thread
From: Arun Persaud @ 2014-07-16 22:37 UTC (permalink / raw)
To: emacs-orgmode
This works for me.
#+BEGIN_SRC python
x = [["label 1", "label 2", "label 3"]]
x.append(None)
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 |
Arun
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Insert a line separator in table results
2014-07-16 22:13 ` Xavier Garrido
2014-07-16 22:37 ` Arun Persaud
@ 2014-07-16 22:54 ` Thorsten Jolitz
1 sibling, 0 replies; 6+ messages in thread
From: Thorsten Jolitz @ 2014-07-16 22:54 UTC (permalink / raw)
To: emacs-orgmode
Xavier Garrido <xavier.garrido@gmail.com> 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 <xavier.garrido@gmail.com> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Insert a line separator in table results
2014-07-16 22:37 ` Arun Persaud
@ 2014-07-17 6:28 ` Xavier Garrido
0 siblings, 0 replies; 6+ messages in thread
From: Xavier Garrido @ 2014-07-17 6:28 UTC (permalink / raw)
To: Arun Persaud, emacs-orgmode
This also works for me.
Thanks for your help,
Xavier
Le 17/07/2014 00:37, Arun Persaud a écrit :
> This works for me.
>
> #+BEGIN_SRC python
> x = [["label 1", "label 2", "label 3"]]
> x.append(None)
> 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 |
>
> Arun
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-07-17 6:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-16 19:06 Insert a line separator in table results Xavier Garrido
2014-07-16 19:15 ` Thorsten Jolitz
2014-07-16 22:13 ` Xavier Garrido
2014-07-16 22:37 ` Arun Persaud
2014-07-17 6:28 ` Xavier Garrido
2014-07-16 22:54 ` Thorsten Jolitz
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).