how to discard a line if it's not a number?
bearophileHUGS at lycos.com
bearophileHUGS at lycos.com
Sat Oct 29 16:50:00 EDT 2005
This is a possible solution, using exceptions:
fileName = "data"
out = file(fileName + "_filt.txt", "w")
for line in file(fileName + ".txt"):
try:
nline = float(line)
except ValueError:
pass
else:
out.write(str(nline) + "\n")
out.close()
If the file is small enough this can be a little faster:
fileName = "data"
filtered = []
data = file(fileName + ".txt").readlines()
for line in data:
try:
filtered.append( str(float(line)) )
except ValueError:
pass
out = open(fileName + "_filt.txt", "w")
out.write( "\n".join(filtered) )
out.close()
Bye,
bearophile
More information about the Python-list
mailing list