def findDataStart(lines, delin = ' '):
    """
    Finds the line where the data starts

    input:
        lines = list of strings (probably from a data file)
        delin = optional string, tells how the data would be separated, default is a space (' ')
    
    output:
        i = integer where the data stops being a string (returns -1 if no data was found)
        header = lines that make up the strings at the top of the file
        datalines = lines starting from where the data ends
    """
    
    for i, l in enumerate(lines):
        test = l.split(delin)[0]
        # If it can't be turned into a float is is still a part of the header
        try:
            float(test)
            return i, lines[0:i], lines[i:]
        except:
            continue
    return -1, lines, []