writing results to array
Bevan Jenkins
bevan07 at gmail.com
Mon Dec 3 15:45:29 EST 2007
Hello,
I have recently discovered the python language and am having a lot of
fun getting head around the basics of it.
However, I have run into a stumbling block that I have not been able
to overcome, so I thought I would ask for help.
<Overview>
I am trying to import a text file that has the following format:
02/01/2000 @ 00:00:00 0.983896 Q10 T2
03/01/2000 @ 00:00:00 0.557377 Q10 T2
04/01/2000 @ 00:00:00 0.508871 Q10 T2
05/01/2000 @ 00:00:00 0.583196 Q10 T2
06/01/2000 @ 00:00:00 0.518281 Q10 T2
when there is missing data:
12/09/2000 @ 00:00:00 Q151 T2
13/09/2000 @ 00:00:00 Q151 T2
I have cobbled together some code which imports the data. The next
step is to create an array in which each column contains a years worth
of values. Thus, if i have 6 years of data (2001-2006 inclusive),
there will be six columns, with 365 rows (not all years have a full
data set and may only have say 340 days of data.
<The question>
In the code below
print answer[j,1] is giving me the right answer but i can't write it
to an array.
any suggestions welcomed.
This is what I have:
flow=[]
flowdate=[]
yeardate=[]
uniqueyear=[]
#flow_order=
flow_rank=[]
icount=[]
p=[]
filename=r"C:\Documents and Settings\bevanj\Desktop\flow_duration.tsf"
linesep ="\n"
# read in whole file
tempdata = open( filename).read()
# break into lines
tempdata = string.split( tempdata, linesep )
# for each record, get the field values
for i in range( len( tempdata)):
# split into the lines
fields = string.split( tempdata[i])
if len(fields)>5:
flowdate.append(fields[0])
list =string.split(fields[0],"/")
yeardate.append(list[2])
flow.append(float(fields[3]))
answer=column_stack((flowdate,flow))
for rows in yeardate:
if rows not in uniqueyear:
uniqueyear.append(rows)
#print answer[:,0] #date
flow_order=empty((0,0),dtype=float)
#for yr in enumerate(uniqueyear):
for iyr,yr in enumerate(uniqueyear):
for j, val, in enumerate (answer[:,0]):
flowyr=string.split(val,"/")
if int(flowyr[2])==int(yr):
print answer[j,1]
#flow_order =
More information about the Python-list
mailing list