I'm trying to find max and min values from a text file which contains data in rows and columns. But I want to create a script which will skip the first couple of lines and calculate the max and min from there on. I am aware for the max and min functions in Python, but I'm not sure how to specify the range. I know I can do something like the following:

f = open('data.txt', 'r') # Open file

data = f.readlines() # Read lines in the file

for range(2,...): # Define the range. Is there a way to not close the range? 
                  # I mean, I don't want to specify an end for the range.

print max(data), min(data)

Apologies for any mistakes as I am new to Python.

Edited by sonicx: n/a

5 Years
Discussion Span
Last Post by woooee

You should iterate lines of file, not range. Inside you can test that line is a interesting one or not. Alternately you could split whole file (after reading the first few lines in for loop with next or readline method) to words and iterate them skipping the words that are not numbers with try,..except.


So I should be specifying which lines I want to read in the readlines() function?


You can slice off the first two records.

f = open('data.txt', 'r') # Open file
data = f.readlines()
data = data[2:]

print max(data), min(data)

but this may or may not give you what you want depending on the values and type of values in data.

Edited by woooee: n/a

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.