emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: emanuel.charpentier@gmail.com
To: oub@mat.ucm.es
Cc: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: join two or more tables
Date: Fri, 23 Aug 2019 11:55:23 +0200	[thread overview]
Message-ID: <c524673312f9e37f0ad598efe109287e8eeedea1.camel@gmail.com> (raw)
In-Reply-To: 871rxirifk.fsf@mat.ucm.es

> Hi
> 
> I was googling this a bit, I found more complicated scenarios, but
> not how to join one or more tables.
> 
> For example 
> #+begin_src 
> 
> #+tblname: nut
> | type     | Fiber | Sugar | Protein | Carb |
> |----------+-------+-------+---------+------|
> | eggplant |   2.5 |   3.2 |     0.8 |  8.6 |
> | tomatoe  |   0.6 |   2.1 |     0.8 |  3.4 |
> | onion    |   1.3 |   4.4 |     1.3 |  9.0 |
> | egg      |     0 |  18.3 |    31.9 | 18.3 |
> 
> 
> #+tblname: nut2
> | type     | Fiber | Sugar | Protein | Carb |
> |----------+-------+-------+---------+------|
> | rice     |   0.2 |     0 |     1.5 | 16.0 |
> | bread    |   0.7 |   0.7 |     3.3 | 16.0 |
> | orange   |   3.1 |  11.9 |     1.3 | 17.6 |
> | banana   |   2.1 |   9.9 |     0.9 | 18.5 |
> | tofu     |   0.7 |   0.5 |     6.6 |  1.4 |
> | nut      |   2.6 |   1.3 |     4.9 |  7.2 |
> | corn     |   4.7 |   1.8 |     2.8 | 21.3 |
> #+end_src

What about:

#+begin_src emacs-lisp :var t1=nut :var t2=nut2 :colnames yes
(append t1 t2)
#+end_src

#+RESULTS:
| type     | Fiber | Sugar | Protein | Carb |
|----------+-------+-------+---------+------|
| eggplant |   2.5 |   3.2 |     0.8 |  8.6 |
| tomatoe  |   0.6 |   2.1 |     0.8 |  3.4 |
| onion    |   1.3 |   4.4 |     1.3 |  9.0 |
| egg      |     0 |  18.3 |    31.9 | 18.3 |
| rice     |   0.2 |     0 |     1.5 | 16.0 |
| bread    |   0.7 |   0.7 |     3.3 | 16.0 |
| orange   |   3.1 |  11.9 |     1.3 | 17.6 |
| banana   |   2.1 |   9.9 |     0.9 | 18.5 |
| tofu     |   0.7 |   0.5 |     6.6 |  1.4 |
| nut      |   2.6 |   1.3 |     4.9 |  7.2 |
| corn     |   4.7 |   1.8 |     2.8 | 21.3 |

Of course, this works because both tables have headers, which can be
handled by the ":colnames yes" header-argument. If both are headerless,
"colnames: no" would do the trick.

Handling the case where one has headers and the other not, or when
there are hlines in the table is still a conudrum for me: I haven't
(yet) been able to find the documentation on how these things are
stored...

HTH,

--
Emmanuel Charpentier

             reply	other threads:[~2019-08-23  9:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-23  9:55 emanuel.charpentier [this message]
2019-08-23 10:54 ` join two or more tables Uwe Brauer
  -- strict thread matches above, loose matches on Subject: below --
2019-08-18  8:23 Uwe Brauer
2019-08-18  8:31 ` Uwe Brauer
2019-08-18 11:00   ` Jude DaShiell
2019-08-18 10:21 ` Ken Mankoff
2019-08-18 10:24   ` Uwe Brauer
2019-08-18 10:49     ` Achim Gratz
2019-08-18 11:34       ` Uwe Brauer
2019-08-23 18:09         ` Achim Gratz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c524673312f9e37f0ad598efe109287e8eeedea1.camel@gmail.com \
    --to=emanuel.charpentier@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=oub@mat.ucm.es \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).