code: def get_dicts(data):
      
      data_dictionaries = []
      for chunk in data[:-1]:
          if not chunk:
              continue
          data1 = data[0]
          file_type = chunk[0].split('\t')[1].strip('\n').strip('\r')
          keys = chunk[1].split('\t')
          clean_keys = []
  
          # remove new-line characters, and any empty string keys
          for key in keys:
              clean_key = key.strip('\n').strip('\r')
              if clean_key:
                  clean_keys.append(clean_key)
          for line in chunk[2:]:
              data_dict = {}
              for key in clean_keys:
                  data_dict[key] = ""
              line = line.split('\t')
              for n, key in enumerate(clean_keys):
                  data_dict[key] = line[n].strip('\n').strip('\r')
              data_dict['file_type'] = file_type
              data_dictionaries.append(data_dict)
      return data_dictionaries
docs: data must be a list of lists, from a tab delimited file.
      in each list:
      the first list item will be the type of data.
      the second list item will be a tab delimited list of headers.
      the remaining items  will be a tab delimited list following the list of headers.