[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SOLVED] (was: join tables columnwise columnames are ignored)
From: |
Uwe Brauer |
Subject: |
[SOLVED] (was: join tables columnwise columnames are ignored) |
Date: |
Tue, 14 Jul 2020 09:24:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
>>> "UB" == Uwe Brauer <oub@mat.ucm.es> writes:
> Hi
> Consider please the following to tables
> #+begin_src
> ,#+TBLNAME: test3
> | Email | State |
> |-----------------+----------|
> | User1@gmail.com | Sent |
> | user2@gmail.com | not sent |
> ,#+TBLNAME: test4
> | Email | State |
> |--------------------+-------------|
> | user3@gmail.coom | not sent |
> | user4@gmail.com | sent |
> #+end_src
> I want to join them, adding columns, and the colnames, so I tried.
> #+BEGIN_SRC emacs-lisp :var t1=test3 t2=test4 :colnames t
> (cl-mapcar #'append t1 t2)
> #+END_SRC
> However this is the result.
> #+begin_src
> ,#+RESULTS:
> | User1@gmail.com | Sent | user3@gmail.coom | not sent |
> | user2@gmail.com | not sent | user4@gmail.com | sent |
> #+end_src
> What went wrong?
> Thanks and regards
> Uwe Brauer
The right code is this one
#+NAME: TA
| col1 | col2 |
|------+------|
| 1 | 2 |
#+NAME: TB
| col3 |
|------|
| 3 |
#+BEGIN_SRC emacs-lisp :var t1=TA t2=TB :colnames no
(insert-at 1 (cl-mapcar #'append t1 t2) 'hline)
#+END_SRC
#+RESULTS:
| col1 | col2 | col3 |
|------+------+------|
| 1 | 2 | 3 |
#+begin_src elisp :noexport
(defun insert-at (n list element)
"Insert ELEMENT into LIST at position N.
I.e., (eq ELEMENT (nth N (insert-at N LIST ELEMENT)))."
(if (eq n 0)
(cons element list)
(let ((link (nthcdr (1- n) list)))
(setcdr link (cons element (cdr link))))
list))
#+end_src
smime.p7s
Description: S/MIME cryptographic signature