MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Bug in Import?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg54805] Re: [mg54761] Re: [mg54739] Bug in Import?
  • From: Chris Chiasson <chris.chiasson at gmail.com>
  • Date: Wed, 2 Mar 2005 01:26:52 -0500 (EST)
  • References: <200503010658.BAA25141@smc.vnet.net>
  • Reply-to: Chris Chiasson <chris.chiasson at gmail.com>
  • Sender: owner-wri-mathgroup at wolfram.com

Import["test.tsv", "Words"]


On Tue, 1 Mar 2005 01:58:16 -0500 (EST), Christoph Lhotka
<lhotka at astro.univie.ac.at> wrote:
> On Mon, 28 Feb 2005 03:27:49 -0500 (EST)
>  Mark Fisher <mark at markfisher.net> wrote:
> > (1) I export a data set that has two identitcal rows.
> > (2) I use "!!" to display the stored file, showing that it contains two
> > identical rows.
> > (3) I import the file, the result of which does *not* have two identical
> > rows: The first row is different from the second row.
> >
> > Export["test.tsv",
> >      {{"2005-01-24", "2005-02-14"},
> >      { "2005-01-24", "2005-02-14"}}]
> >
> > !!test.tsv -->
> >
> > 2005-01-24    2005-02-14
> > 2005-01-24    2005-02-14
> >
> > Import["test.tsv"] -->
> >
> > {{2005-01-24, 2005-02-14},
> > {2005, -1, -24, 2005, -2, -14}}
> >
> > Surely this is a bug.
> >
> > (I sent this example to support at wolfram.com three weeks ago, but the
> > only response I've received is that it's not a bug. Frankly, I don't
> > think the tech person who responded understood the example.)
> >
> > I  am using version 5.1 for Windows.
> >
> > --Mark.
> >
> 
> Hi !
> 
> I am not sure, if it is a bug, but you are right, it looks strange. If you
> want to have more control over, how data is stored and recieved use the
> functions Write and ReadList :
> 
> You open an outputstream with OpenWrite
> 
> In[..]:=stream = OpenWrite["test.tsv"]
> Out[..]:=OutputStream[test.tsv, 113]
> 
> and write something to the stream with Write (or WriteString, see the help
> browser):
> 
> In[..]:=Write[stream,
>   {{"2005-01-24", "2005-02-14"}, {"2005-01-24", "2005-02-14"},
>         {"2005-01-24", "2005-02-14"}} // TableForm // StandardForm]
> Out[..]:=test.tsv
> 
> Instead of Import, you can use ReadList (or Read, to import not the whole
> file):
> 
> In[..]:=ReadList["test.tsv", {"Word", "Word"}]
> Out[..]:={{2005-01-24, 2005-02-14}, {2005-01-24, 2005-02-14}, {2005-01-24,
> 2005-02-14}}
> 
> (where you can explicitly specify, how the data should be treated
> ("Word","Real","Record",etc...} and the inner structure in form of nested
> lists.
> 
> So in your example {"Word","Word"} means 2 colums of type Word, which tells
> Mathematica to import strings into a list of form
> {{word1,word2},{word3,word4},...}
> 
> In[..]:=FullForm[%]
> Out[..]:=List[List["2005-01-24", "2005-02-14"], List["2005-01-24",
> "2005-02-14"],
>   List["2005-01-24", "2005-02-14"]]
> 
> Don't forget to close the output / input stream with Close after use:
> In[..]:=Close[stream]
> 
> ...
> 
> -- Christoph Lhotka --
> University of Vienna
> Institute for Astronomy
> Tuerkenschanzstr. 17
> 1180 Vienna, Austria
> fon. +43.1.4277.518.41
> mail. lhotka at astro.univie.ac.at
> 
> 


-- 
Chris Chiasson
Kettering University
Mechanical Engineering
Graduate Student
1 810 265 3161


  • Prev by Date: Re: Mathematical Experiments
  • Next by Date: Re: Mathematical Experiments
  • Previous by thread: Re: Bug in Import?
  • Next by thread: Re: Bug in Import?