Code
def Load_Data(input_file_name):
try:
with open (input_file_name, "r") as datafile:
data_string=datafile.read()
except IOError:
print "problem finding the file, shutting down"
quit()
data_list = data_string.split("\n")
x_data_raw=[]
y_data_raw=[]
for entry in data_list:
if "x" in entry:
x_data_raw.append(entry)
elif "y" in entry:
y_data_raw.append(entry)
x_data=[]
y_data=[]
try:
while len(x_data_raw) > 0:
for i, entry in enumerate(x_data_raw):
equals_location = entry.find("=")
index = int(entry[1:equals_location])
if index == len(x_data)+1:
x_data.append(entry[equals_location+1:])
x_data_raw.pop(i)
while len(y_data_raw) > 0:
for i, entry in enumerate(y_data_raw):
equals_location = entry.find("=")
index = int(entry[1:equals_location])
if index == len(y_data)+1:
y_data.append(entry[equals_location+1:])
y_data_raw.pop(i)
except:
print "something is wrong with data file formatting, now exiting"
quit()
number_of_points = len(x_data)
if number_of_points != len(y_data):
print "there are not an equal number of x and y values in the data file, now exiting"
quit()
return x_data, y_data, number_of_points
if __name__ == "__main__":
print Load_Data("lagrange-data.txt")
I wrote a quick and dirty function for loading the data into the lists that requires no imports.