MathGroup Archive 2002

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

Search the Archive

Re: Use of Import inside of Module

  • To: mathgroup at smc.vnet.net
  • Subject: [mg33314] Re: [mg33299] Use of Import inside of Module
  • From: BobHanlon at aol.com
  • Date: Thu, 14 Mar 2002 19:51:15 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 3/14/02 4:27:20 AM, pmhowe at lanl.gov writes:

>... the following does what I want:
>
>ndat = Import["myfile", "Table"];
>mdat = Transpose[{Transpose[ndat][[1]], Transpose[ndat][[2]]}];
>ListPlot[mdat, PlotJoined -> True];
>
>Since I have numerous files to work with, I wish to combine the above 
>into a single function, which contains all the steps.  It looks like 
>the snippet below ought to work, but it doesn't:
>
>Clear[g, ndat, mdat, file];
>g[file_] := Module[{ndat, mdat},
>     ndat = Import["file", "Table"];
>     mdat = Transpose[{Transpose[ndat][[1]], Transpose[ndat][[2]]}];
>     ListPlot[mdat, PlotJoined -> True]]
>g[myfile];
>
>Apparently, the problem lies with embedding Import within Module.  I 
>can generate a work-around:
>
>ndat = Import["myfile", "Table"];
>g[file_] := Module[{mdat},
>       mdat = Transpose[{Transpose[file][[1]], Transpose[file][[2]]}];
>       ListPlot[mdat, PlotJoined -> True]];
>g[ndat];
>
>However, using Module might be neater, and  I would like to know what 
>I am doing wrong, anyway.  Any suggestions?

"file" is the literal string file and is not replaced by your file name.  
Use ToString

Clear[g];
g[file_]:=
  Module[{ndat,mdat},
    ndat=Import[ToString[file],"Table"];
    mdat=Take[#,2]& /@ ndat;
    ListPlot[mdat,PlotJoined->True]]
;
g[myfile];

Or have the input be a string

Clear[g];
g[file_String]:=
  Module[{ndat,mdat},
    ndat=Import[file,"Table"];
    mdat=Take[#,2]& /@ ndat;
    ListPlot[mdat,PlotJoined->True]]
;
g["myfile"];


Bob Hanlon
Chantilly, VA  USA


  • Prev by Date: constraints in EKF
  • Next by Date: Re: Looking for Review on Analog Insydes
  • Previous by thread: Use of Import inside of Module
  • Next by thread: Re: Use of Import inside of Module