def processLines(f, dictionaries):
    dict = {}
    lineCount = 0
    for line in f:
        #Ignoring header (first line) if needed.
        if lineCount == 0:
            lineCount += 1
            if ignoreHeader:
                continue
        columns = columnsMask.lower().split(separator)
        values = line.split(separator)

        for column in columns:
            column = Utilities.sanitise(column.lower())

            #meaningless columns defined by 'null' or empty value
            if column == "null" or column == "":
                continue

            if len(values) <= columns.index(column):
                dict[column] = ""
            else:
                dict[column] = Utilities.sanitise(
                    values[columns.index(column)])

        #'name' and 'classname' are mandatory. Ignoring lines without any of these fields.
        if not (dict["name"] == "" or dict["classname"] == ""
                or dict["status"] == ""):
            if dict["classname"] in dictionaries:
                dictionaries[dict["classname"]].append(dict.copy())
            else:
                dictionaries[dict["classname"]] = []
                dictionaries[dict["classname"]].append(dict.copy())