[Tutor] File IO
bob
bgailer at alum.rpi.edu
Thu Nov 3 23:01:13 CET 2005
At 01:34 PM 11/3/2005, Michael Haft wrote:
>Hello,
> I tried the following code:
>
>def readSOMNETM(inputName):
> input = open(inputName, "r")
> result = []
> for line in input:
> fields = line.split()
# add this; it will show you what line(s) have less than 8 fields
if len(fields) < 8:
print "Line too short", line
continue
> data = fields[1] + fields[2] + fields[7]
> result.append(data)
> input.close()
> return result
>
>
>print "Here goes"
>print "Enter filename:"
>filename = raw_input("Name:")
>print readSOMNETM(filename)
>print "might work"
>
>on a file that lookes like this:
>
>Monthly Weather Data, LAU73M.MET, converted from:
>BAD LAUCHSTAEDT; DAILY METEOROLOGICAL DATA FOR 01/01/1973-31/12/1973
>VAP, DEWP CALCULATED FROM MEASURED AVTEMP AND HUMID DATA
>MONTH RAIN AVTEMP S10 RAD SUN WIND EVAPW
>**************************************************************
>1 22.5 0.3 * 54.6 15.1 * 11.9
>2 16.1 1.8 * 110 51.1 * 18.1
>3 16.4 4.8 * 227.5 94.5 * 36.8
>4 19.5 5.9 * 286.3 89 * 45.5
>5 36.1 13.2 * 448.5 164.6 * 83
>6 36 16.9 * 525.7 208.8 * 105.7
>7 37.7 18.2 * 459.7 165.4 * 98.6
>8 29.3 18.2 * 463.8 206.8 * 97.9
>9 27 14.8 * 277.5 119.5 * 58.7
>10 57.6 7.6 * 158.7 72.2 * 31.3
>11 23.4 3.9 * 98.3 75.6 * 19.1
>12 14 0.7 * 55.5 38 * 12.5
>
>
>And recieved the following error:
>
>Traceback (most recent call last):
> File "C:\Python24\INProgress.py", line 15, in -toplevel-
> print readSOMNETM(filename)
> File "C:\Python24\INProgress.py", line 6, in readSOMNETM
> data = fields[1] + fields[2] + fields[7]
>IndexError: list index out of range
>
>Essentially I'm trying to write a bit of code that can take any of the
>fields in the above data i.e. rain temp evap for each month for a hundred
>or so files like this one and spit out a file at the end that has the data
>in a different format.
>
>Any help would be very much appreciated I need to get this done by the end
>of next week
More information about the Tutor
mailing list