def data_table(fn_list, datalabel, keyatom):
 outlist = []
 [dict_list, label_line_list] = _read_dicts(fn_list, keyatom)
 minr = dict_list[0]['minres']
 maxr = dict_list[0]['maxres']
 for dictionary in dict_list:
  if (maxr < dictionary['maxres']):
   maxr = dictionary['maxres']
  if (minr > dictionary['minres']):
   minr = dictionary['minres']
 res = minr
 while (res <= maxr):
  count = 0
  line = str(res)
  for dictionary in dict_list:
   label = label_line_list[count]
   if (str(res) in dictionary):
    line = ((line + ' DCTB ') + XpkEntry(dictionary[str(res)][0], label).fields[datalabel])
   else:
    line = ((line + ' DCTB ') + '*')
   count = (count + 1)
  line = (line + '\n')
  outlist.append(line)
  res = (res + 1)
 return outlist

def data_table ( fn_list , datalabel , keyatom ) : outlist = [ ] [ dict_list , label_line_list ] = _read_dicts ( fn_list , keyatom ) minr = dict_list [ 0 ] [ 'minres' ] maxr = dict_list [ 0 ] [ 'maxres' ] for dictionary in dict_list : if ( maxr < dictionary [ 'maxres' ] ) : maxr = dictionary [ 'maxres' ] if ( minr > dictionary [ 'minres' ] ) : minr = dictionary [ 'minres' ] res = minr while ( res <= maxr ) : count = 0 line = str ( res ) for dictionary in dict_list : label = label_line_list [ count ] if ( str ( res ) in dictionary ) : line = ( ( line + ' DCTB ' ) + XpkEntry ( dictionary [ str ( res ) ] [ 0 ] , label ) . fields [ datalabel ] ) else : line = ( ( line + ' DCTB ' ) + '*' ) count = ( count + 1 ) line = ( line + '\n' ) outlist . append ( line ) res = ( res + 1 ) return outlist
generate a data table from a list of input xpk files .