I have a problem with the following code:
inputf = open('test.dat', 'r') lines = inputf.readlines() rico_clus_e = [] for line in lines: line.split() print line if (line[0] != '#'): rico_clus_e.append(float(line[4])) inputf.close() My test.dat file is:
# specn rico_all rico_all_e rico_clus rico_clus_e rico_farclust rico_far_e extin a119 1.07038692 0.11109547 0.61473431 0.15063627 0.32590239 0.14777812 0.207 And this gives the following output in my terminal:
# specn rico_all rico_all_e rico_clus rico_clus_e rico_farclust rico_far_e extin a119 1.07038692 0.11109547 0.61473431 0.15063627 0.32590239 0.14777812 0.207 Traceback (most recent call last): File "test.py", line 8, in <module> rico_clus_e.append(float(line[4])) ValueError: could not convert string to float: I'm quite confused by this. It had nothing to do with spaces, I checked them all. And if you change 4 by 1, 2 or 3 this works, so it must have something to do with the test.dat file, but I can't seem to figure out how. I'm using python 2.7.3.
repr()) of the element is...?