Re: Another question Re: Mathematica 6.0 CSV export with ";" as delimiter?
- To: mathgroup at smc.vnet.net
- Subject: [mg80774] Re: Another question Re: Mathematica 6.0 CSV export with ";" as delimiter?
- From: "Jean-Marc Gulliet" <jeanmarc.gulliet at gmail.com>
- Date: Sat, 1 Sep 2007 00:30:13 -0400 (EDT)
- References: <fb83ji$81t$1@smc.twtelecom.net> <46D821E7.8080607@gmail.com>
[Answer at the bottom of the post]
kirk reinholtz wrote:
> When I import this, how do I cause each field to be interpreted as a
> String, even if it looks like a number???
>
> Thanks again.
>
> On Aug 31, 2007, at 7:12 AM, Jean-Marc Gulliet wrote:
>
> > kirk reinholtz wrote:
> >> I find I need to Export a file from Mathematica 6.01 in CSV
> >> format, except I need to use semicolon for the delimiter, rather
> >> than comma.
> >> The documentation alludes to "many options" that might influence
> >> how this might be accomplished, but I can't find the options
> >> themselves.
> >> So please, granting I may be blind, where is this documented and
> >> how is it done??
> > What you are really looking for is exporting a table data format
> > (file extension .dat by default) with the *FieldSeparators* option
> > set to semicolon in your case.
> >
> > In[1]:= data = RandomReal[{-1, 1}, {4, 5}]
> >
> > Out[1]= {{0.868671, -0.583131, -0.205539,
> > 0.451934, -0.179933}, {-0.892268, 0.853666, -0.936663,
> > 0.909701, -0.910825}, {-0.0781347, 0.339566,
> > 0.490868, -0.126004, -0.169031}, {0.944671,
> > 0.400847, -0.63365, -0.115168, -0.448351}}
> >
> > In[2]:= Export["myfile.dat", data, "FieldSeparators" -> ";"]
> >
> > Out[2]= "myfile.dat"
> >
> > (* and if you really insist in keeping the extension csv *)
> >
> > In[3]:= Export["myfile.csv", data, "Table", "FieldSeparators" -> ";"]
> >
> > Out[3]= "myfile.csv"
Mathematica has a built-in conversion function called *ToString* that
converts an expression into a string of characters. (The reciprocal is
*ToExpression*). Since you have a list of lists, you could use *Map*
with its third argument set to {2} (or {-1}), to apply *ToExpression*
to numbers (or atomic expressions) only. For instance,
Map[ToString, Import["myfile.dat", "FieldSeparators" -> ";"], {-1}]
--
Jean-Marc