MathGroup Archive 2005

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

Search the Archive

Re: Importing (and dealing with) multiple files

  • To: mathgroup at
  • Subject: [mg60829] Re: Importing (and dealing with) multiple files
  • From: "John Jowett" <John.Jowett at>
  • Date: Thu, 29 Sep 2005 05:43:01 -0400 (EDT)
  • Organization: CERN - European Laboratory for Particle Physics
  • References: <dhdbdh$8f3$>
  • Sender: owner-wri-mathgroup at

        Something like this ?

First define a function that returns, say, the filename and the two 
parameters theta1, theta2 from the results of analysing one data file:

stats[fn_] := Module[{rawdata,croppedcorrelation, statistics},
        rawdata=Import[fn, "Table"];
        croppedcorrelation = Take[rawdata, {75, 185}];
       statistics = NonlinearRegress[croppedcorrelation, math_here ...];
       {fn, theta1, theta2} /. statistics]

Get a list of the files, no need to know how many

dataFiles = FileNames["*.ASC", "C:\\"]

If each file represents a time point, then the order may matter, in which 
case you may need to sort them somehow.

dataFiles=Sort[dataFiles,   someSortingFunction ]
Then map the function over the list to return a table.

Map[stats, dataFiles]

You can adapt the details depending what you want exactly.

John Jowett

<contact at> wrote in message news:dhdbdh$8f3$1 at
> Hello all,
> I have experimental data that is stored in a number of files.  I've
> been importing the files (as tables) into Mathematica one-by-one, and
> working on them like so:
> rawdata=Import["C:\\filename.ASC", "Table"];
> croppedcorrelation=Take[rawdata,{75,185}];
> statistics=NonlinearRegress[croppedcorrelation, math_here...]
> then painstakingly picking out the relevant statistical parameter from
> each file, collecting them all, and later plotting them.  What I'd
> really like to do is import an entire directory's worth of these files
> (each file is a different time point), do the same statistical thing to
> each file, save the relevant parameters from each file in a table form
> and then plot the whole shebang.
> One of the problems is that I don't know ahead of time how many .ASC
> files are in the directory, so I need to set up the For loop (or
> whatever structure) to account for that.  I tried using FileNames[] to
> get the list of files, assigning them to an array, then using Import[]
> on each of those array elements.  It didn't work.
> Does anyone have any suggestions?
> Thanks!
> Dan

  • Prev by Date: Re: Using the solution of a differential equation and minimizing the solution.
  • Next by Date: Re:Re: Vectorization
  • Previous by thread: Re: Importing (and dealing with) multiple files
  • Next by thread: Re: Importing (and dealing with) multiple files