Вы делаете:
list1 = list(b)
lines = b.readlines()
, но первая из этих строк уже считывает все содержимое вашего файла, во второй строке нечего читать.
def read1(file): #this function will read and extract the first column of values from the
with open(file,"r") as b: # text allowing us to access it later in our main function
lines = b.readlines()
result1 = []
for i in lines:
result1.append(i.split()[0])
# no need for close, when using 'with open()'
return result1
должно работать или даже лучше:
def read1(file):
with open(file,"r") as b:
return [i.split()[0] for i in b.readlines()]