I have a text file with columns of data and I need to turn these columns into individual lists or arrays.
This is what I have so far
f = open('data.txt', 'r')
temp = []
for row in f.readlines():
Data = row.split()
temp.append(float(Data[0]))
When I run this I get IndexError: list index out of range.
Snippet of the data below:
16 0.2000
17 0.3000
18 0.4000
20 0.5000
21 0.6000
22 0.7000
24 0.8000
25 0.9000
26 1.000
I need the first column, if possible to look like this:
Data = [16, 17, 18, 20, 21, 22, 24, 25, 26]
You are getting an empty list
Data=[]if you read an empty row. You try to get the first element from the list usingData[0],but because it’s an empty list it doesn’t have an element at position 0, so you get anIndexError.This will print out the
DataifIndexErroroccours – you can see yourself that it prints an empty list:You can use the
withstatement to open the file, that automatically closes the file after being processed. Also you can loop over the file itself, without usingreadlines().EDIT: You are better of using the csv module: