MathGroup Archive 2005

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

Search the Archive

Re: Rearranging a data array containing calendrical as well as data entries.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg54844] Re: Rearranging a data array containing calendrical as well as data entries.
  • From: "Valeri Astanoff" <astanoff at yahoo.fr>
  • Date: Fri, 4 Mar 2005 05:07:41 -0500 (EST)
  • References: <d0614i$krg$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

This is an example of what you could do :


In[1]:=
<<Miscellaneous`Calendar`

getLine[line_String]:=
    Module[{year,month,n,nbd,days,ld,data},
      year = StringTake[line,4] // ToExpression;
      month = StringTake[line,{5,6}] // ToExpression;
      n = StringTake[line,{8}] // ToExpression;
      nbd = DaysBetween[{year,month,1}, {year,month+1,1}];
      days=Which[n == 1, Range[8],
          n == 2, Range[9,16],
          n == 3, Range[17,24],
          n == 4, Range[25,nbd],
          True, Print["error : n = ",n," line = ",line]];
      ld = Length[days];
      data = Table[StringTake[line,{10+7i, 15+7i}] // ToExpression,
          {i,0,ld-1}];
      {{year,month,#[[1]]}, #[[2]]}& /@ Transpose[{days,data}]
      ];

getFlow[flowName_String, startDate_List, endDate_List]:=
    Module[{flo},
      flo = Import[flowName,"Lines"];
      Select[Flatten[getLine /@ flo,1],
        And @@ Thread[startDate <= #[[1]] <= endDate]&]
      ];

In[4]:=
getFlow["flow.dat",{2000,02,01},{2000,02,29}]

Out[4]=
{{{2000,2,1},400.33},{{2000,2,2},379.64},{{2000,2,3},379.64},{{2000,2,4},
    379.64},{{2000,2,5},379.64},{{2000,2,6},379.64},{{2000,2,7},
    368.13},{{2000,2,8},368.13},{{2000,2,9},368.13},{{2000,2,10},
    368.13},{{2000,2,11},368.13},{{2000,2,12},367.02},{{2000,2,13},
    367.02},{{2000,2,14},367.02},{{2000,2,15},367.02},{{2000,2,16},
    367.02},{{2000,2,17},389.48},{{2000,2,18},389.48},{{2000,2,19},
    389.48},{{2000,2,20},389.48},{{2000,2,21},389.48},{{2000,2,22},
    364.36},{{2000,2,23},364.36},{{2000,2,24},364.36},{{2000,2,25},
    364.36},{{2000,2,26},364.36},{{2000,2,27},369.54},{{2000,2,28},
    369.54},{{2000,2,29},369.54}}


hth

v.a.


  • Prev by Date: Re: Re: Re: Bug in Import?
  • Next by Date: Re: Re: computing residues
  • Previous by thread: Re: Rearranging a data array containing calendrical as well as data entries.
  • Next by thread: Re: Rearranging a data array containing calendrical as well as data entries.