code: def readcols(infile, cols=[0, 1, 2, 3], hms=False):
      
  
      fin = open(infile,'r')
      outarr = []
      for l in fin.readlines():
          l = l.strip()
          if len(l) == 0 or len(l.split()) < len(cols) or (len(l) > 0 and l[0] == '#' or (l.find("INDEF") > -1)): continue
          for i in range(10):
              lnew = l.replace("  "," ")
              if lnew == l: break
              else: l = lnew
          lspl = lnew.split(" ")
  
          if len(outarr) == 0:
              for c in range(len(cols)): outarr.append([])
  
          for c,n in zip(cols,list(range(len(cols)))):
              if not hms:
                  val = float(lspl[c])
              else:
                  val = lspl[c]
              outarr[n].append(val)
      fin.close()
      for n in range(len(cols)):
          outarr[n] = np.array(outarr[n])
      return outarr
docs: Read the columns from an ASCII file as numpy arrays.
  
      Parameters
      ----------
      infile : str
          Filename of ASCII file with array data as columns.
  
      cols : list of int
          List of 0-indexed column numbers for columns to be turned into numpy arrays
          (DEFAULT- [0,1,2,3]).
  
      Returns
      -------
      outarr : list of numpy arrays
          Simple list of numpy arrays in the order as specifed in the 'cols' parameter.