From: Huber, Daniel on
Hi,
make all you numbers precision numbers (e.g. using N) otherwise
Mathemaitca will try hard to give an exact representation. Further
the problem with the lone "e" is solved by e.g.:
Export["d:/tmp/t.txt",
ScientificForm[TableForm[table], 4,
NumberFormat -> (Row[If[#3 == "", {#1}, {#1, "e", #3}]] &)],
"String"];
cheers Daniel


-----Urspr=FCngliche Nachricht-----
Von: Bence Kocsis [mailto:bkocsis(a)gmail.com]
Gesendet: Mi 16.06.2010 00:47
An: Huber, Daniel
Betreff: Re: formatted table output to ascii file


Neither of these solutions work for a table with small numbers like
10^-7.
For example, consider

table = {{10^-6, 0.0000243729, 0.0000759669, 0.00187499}, {-2.,
0.0613641, 0.0827868, 0.0831174}, {0.4, 0.317162, 0.307924,
0.33977}}

Then the kuh functions give a file with:

1.0000
-------------
1000000.0000 2.437e-05 7.597e-05 1.875e-03
-2.0000 6.136e-02 8.279e-02 8.312e-02
0.4000 3.172e-01 3.079e-01 3.398e-01

while that of dh has the same same problem but it also screws up the
-2.0 element:

1e
--------
1000000e 2.437e-5 7.597e-5 1.875e-3

-2.e 6.136e-2 8.279e-2 8.312e-2

4.e-1 3.172e-1 3.079e-1 3.398e-1

Any solution in this case?

On Mar 18 2009, 5:51 am, dh <d...(a)metrohm.com> wrote:
> Hi,
>
> try e.g. ScvientificForm with Table:
>
> Export["d:/tmp/t.txt",
>
> ScientificForm[TableForm[d], 4,
>
> NumberFormat -> (Row[{#1, "e", #3}] &)], "String" ]
>
> hope this helps, Daniel
>
> kuh...(a)gmail.com wrote:
> > For the life of me I just cannot figure out how to get Mathematica =
to
> > produce nicely formatted (C or Fortran format) output of a 2D table =
of
> > numbers to an ASCII file.
>
> > Let's say I've got this table:
>
> > {{-6., 0.0000243729, 0.0000759669, 0.00187499},
> > {-2., 0.0613641, 0.0827868, 0.0831174},
> > {0.4, 0.317162, 0.307924, 0.33977}}
>
> > I'd like the resulting file to correspond to this C format string
> > "%5.2f %10.3e %10.3e %10.3e\n", i.e. to look like this:
>
> > -6.00 2.437e-05 7.597e-05 1.875e-03
> > -2.00 6.136e-02 8.279e-02 8.312e-02
> > 0.40 3.172e-01 3.079e-01 3.398e-02
>
> > I tried Export["file.dat",table], but got this mess:
>
> > -6. 0.00002437286669095962 0.0000759669270937278
> > 0.0018749887943499436
> > -1.9999999999999998 0.06136412066687522
> > 0.08278680554897219 0.08311737741506361
> > 0.40000000000000036 0.31716209930168276
> > 0.3079237859649251 0.3397696229714295
>
> > I also tried pre-formatting with something like
>
> > newdata = Map[ToString[PaddedForm[#, {6, 4}]] &, table, {2}];
>
> > but my mathematica-fu isn't good enough to generalize this to the
> > desired format.
>
> > Any help would be greatly appreciated!
>
> > mike