[Tutor] File IO

Kent Johnson kent37 at tds.net
Fri Nov 4 00:56:02 CET 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()
>         data = fields[1] + fields[2] + fields[7]
>         result.append(data)
>     input.close()
>     return result

As bob has hinted, you need to skip the headers. If there are always five lines of header they are easy to skip, just do
    input = open(inputName, "r")
    for i in range(5): input.next()
    result = []
    for line in input:

Kent
> 
> 
> 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
> 
> Thanks
> 
> Mike
> 
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
> 
> 

-- 
http://www.kentsjohnson.com



More information about the Tutor mailing list