emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Re: Merge tables


From: Darlan Cavalcante Moreira
Subject: Re: [Orgmode] Re: Merge tables
Date: Tue, 29 Sep 2009 12:15:32 -0300
User-agent: Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.7 Emacs/23.1.50 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)

At Mon, 28 Sep 2009 16:31:22 -0400,
Dan Davison wrote:
> 
> Bernt Hansen <address@hidden> writes:
> 
> > Hector Villafuerte <address@hidden> writes:
> >
> >> Hi,
> >> I've just discovered Org and are truly impressed with it; using it for
> >> more and more tasks.
> >>
> >> Here's what I want to do: I have 2 tables with the same number of rows
> >> (one row per subject). I would like to make just one big table by
> >> copying the second table to the right of the first one. This is a
> >> no-brainer in a spreadsheet but my attempts in Org have failed. Any
> >> ideas?
> 
> Hi Hector,
> 
> Here are two ways of doing this in org-babel.
> 
> * Binding tables together by columns
> 
> Suppose the tables are
> 
> #+tblname: tab1
> | 1 | 2 | 3 |
> | 7 | 8 | 9 |
> 
> #+tblname: tab2
> |  4 |  5 |  6 |
> | 10 | 11 | 12 |
> 
> Here's a solution in emacs lisp:
> 
> #+srcname: column-bind-elisp(a=tab1, b=tab2)
> #+begin_src emacs-lisp 
> (mapcar* 'append a b)
> #+end_src
> 
> #+resname: column-bind-elisp
> | 1 | 2 | 3 |  4 |  5 |  6 |
> | 7 | 8 | 9 | 10 | 11 | 12 |
> 
> And here's a solution in R, which has the advantage that it copes with
> column names (and the code is even simpler).
> 
> #+tblname: tab3
> | a | b | c |
> |---+---+---|
> | 1 | 2 | 3 |
> | 7 | 8 | 9 |
> 
> #+tblname: tab4
> |  d |  e |  f |
> |----+----+----|
> |  4 |  5 |  6 |
> | 10 | 11 | 12 |
> 
> #+srcname: column-bind-R(a=tab3, b=tab4)
> #+begin_src R :colnames t
> cbind(a, b)
> #+end_src
> 
> #+resname: column-bind-R
> | "a" | "b" | "c" | "d" | "e" | "f" |
> |-----+-----+-----+-----+-----+-----|
> |   1 |   2 |   3 |   4 |   5 |   6 |
> |   7 |   8 |   9 |  10 |  11 |  12 |
> 
> 
> Once someone has written them, even simple code blocks like these can be
> stored in the "library of babel" for users who aren't familiar with a
> suitable programming language (I'll add them on worg).
> 
> Dan
> 
> >
> > Rectangular cut and paste maybe?
> >
> > -Bernt
> >
> >
> > _______________________________________________
> > Emacs-orgmode mailing list
> > Remember: use `Reply All' to send replies to the list.
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/emacs-orgmode
> 
> 
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

If you only want to put the second table at the right of the first one I think
that the functions kill-rectangle and yank-rectangle are enough. Select the
second table (without the first | char) and run the command kill-rectangle (C-x 
r
k), then put the cursor at the end of the first line of the first table and run
the command yank-rectangle (C-x r y).

-- 
Darlan Cavalcante Moreira
address@hidden




reply via email to

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