From: Juan Pechiar <juan@pechiar.com>
To: emacs-orgmode@gnu.org
Subject: Re: Sorting table columns (*not* content)
Date: Mon, 1 Nov 2010 12:43:42 -0200 [thread overview]
Message-ID: <20101101144342.GA2450@soloJazz.com> (raw)
In-Reply-To: <iamg4v$ehg$1@dough.gmane.org>
If you don't mind losing h-lines, you can transpose the table, sort
rows, and transpose back.
This code (which I previously posted to the list) transposes a table:
#+begin_src: emacs-lisp
(defun org-transpose-table-at-point ()
"Transpose orgmode table at point, eliminate hlines"
(interactive)
(let ((contents (apply #'mapcar* #'list
(remove-if-not 'listp ;; remove 'hline from list
(org-table-to-lisp)))) ;; signals error if not table
)
(delete-region (org-table-begin) (org-table-end))
(insert (mapconcat (lambda(x) (concat "| " (mapconcat 'identity x " | " ) " |\n" ))
contents
""))
(org-table-align)
)
)
#+end_src
Regards,
.j.
On Mon, Nov 01, 2010 at 02:42:55PM +0100, Gary wrote:
> Is there any way to sort the columns of a table, such that for example
>
> | Col 3 | Col 1 | Col 2 |
>
> can be converted to
>
> | Col 1 | Col 2 | Col 3 |
> |-------+-------+-------|
> | ... | ... | ... |
>
> ?
next prev parent reply other threads:[~2010-11-01 14:43 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-01 13:42 Sorting table columns (*not* content) Gary
2010-11-01 13:52 ` Jeff Horn
2010-11-01 14:15 ` Gary
2010-11-01 15:09 ` Jeff Horn
2010-11-01 19:44 ` Carsten Dominik
2010-11-02 11:05 ` Gary
2010-11-01 19:02 ` Christian Moe
2010-11-01 19:27 ` brian powell
2010-11-01 14:43 ` Juan Pechiar [this message]
2010-11-01 15:33 ` Gary
2010-11-01 15:39 ` brian powell
2010-11-01 17:47 ` Dan Davison
2010-11-01 18:44 ` brian powell
2010-11-02 11:03 ` Gary
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=20101101144342.GA2450@soloJazz.com \
--to=juan@pechiar.com \
--cc=emacs-orgmode@gnu.org \
/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).