emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] how to force org-mode to interpret number as string


From: Stefan Huchler
Subject: Re: [O] how to force org-mode to interpret number as string
Date: Fri, 07 Mar 2014 15:10:16 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Eric Schulte <address@hidden> writes:


> I suggested that you remove "." from your numbers.  You could also wrap
> your numbers in "s.

> #+name: example
> | "100.00000000" |
> #+begin_src emacs-lisp :var example=example
> (caar example)
> #+end_src
>
> #+RESULTS:
> : 100.00000000
>

thank you and sorry for my inpatiance.

That is a very helpful and constructive post.

And basicly that was one thing I searched that you can mark somehow
numbers as strings.

To rename the numbers that would work of course I just want a option
that works in any case, its not supposed to be a one-thing solution for
one problem, I want it to be usable for every data.

As a general serial mail tool, so renaming the numbers is no real good
solution, and the point on the thausends is pretty common here in
germany.

I dont need to use calc functionality in any way on this table, so I
don´t need proper number recognition besided if I need string its stupid
to first convert it to a number from string to convert it then back.
Especialy with all the "if (is number...)" block, and your mapping would
then also not work, because I have to check then every entry by 2 loops
like I did.

So to complete your solution, is there a way to wrap "" around of all
values in a table (or only on numbers)?

something like:

#tblfm: $3 = "$3"      (or for all columns?)

Then I think I am satisfied ;)



>
> I would argue that the list of lists representation is indeed more
> commonly useful than converting a table to a list of dictionaries keyed
> by the header row.  Maybe you will find the following helpful.
>
> #+TBLNAME: jobs
> | jobname     | city          |  salary | email                 |
> | Taxi-driver | New York City | 500.000 | address@hidden |
> | Butcher     | Peking        |   5.000 | address@hidden      |
>
> #+name: table-w-headers-to-list-of-key-value
> #+begin_src emacs-lisp :var data='()
>   (let ((keys (car data))
>         (vals (cdr data)))
>     (mapcar (lambda (row) (map 'list #'cons keys row)) vals))
> #+end_src
>
> Example usage, pull the email from each value.
> #+begin_src emacs-lisp :var data=table-w-headers-to-list-of-key-value(jobs)
> (mapcar (lambda (row) (cdr (assoc "email" row))) data)
> #+end_src
>
> #+RESULTS:
> | address@hidden | address@hidden |

thanx yes the problem is that I am not so used to the lambda construct,
and I did not want to learn that and a new language at the same time,
but yes I should get used to map methods and lambda.

It´s a bit shorter yes. thanks!




reply via email to

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