Re: Import[] - limited from a pipe?
- To: mathgroup at smc.vnet.net
- Subject: [mg103996] Re: Import[] - limited from a pipe?
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Thu, 15 Oct 2009 07:15:41 -0400 (EDT)
- References: <hb3g2j$m04$1@smc.vnet.net>
Jason Ledbetter wrote:
> Folk,
> I'm looking into various methods of importing data into mathematica from a
> piece of perl middleware (that talks to a database). Right now, the perl
> script is outputting CSV that I'm pulling in with Import[....,"CSV"] or
> "List" in some cases.
>
> In investigating other options (like Get) it seems that there are some
> limitations on Import[] that I don't quite understand.
>
> As a test, I'm looking at two components:
>
> 1 - a perl script that outputs "List[1,2,3,4]" (no newlines) and then
> exits.
> 2 - the output from that perl script redirected to a file "foo"
>
> In the first case:
>
> In[17]:= Import["!/full/path/test.pl", "Elements"]
> Import::fmtnosup: $Failed is not a supported Import format.
> Out[17]= $Failed
>
> In the second case:
>
> In[24]:= Import["/full/path/to/foo", "Elements"]
> Out[24]= {Comments, ExpressionList, Get, HeldExpressions}
>
> (* changing Elements to Get in the file version results in an appropriate
> List[1,2,3,4,5] being imported *)
>
> Is this a bug or expected behavior?
> If it is expected, where can I find/generate more information on the
> limitations of Import with a pipe?
>
> Thanks,
>
> -jbl
>
>
I think the problem is that Import can't deduce the data format from the
pipe name. The help for Import includes the sentence:
Import["!prog","format"] imports data from a pipe.
I guess this would solve the problem, though I have not tried it.
David Bailey
http://www.dbaileyconsultancy.co.uk