Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re: Importing (and dealing with) multiple files

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

Hello,
        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 dantimatter.com> wrote in message news:dhdbdh$8f3$1 at smc.vnet.net...
> 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