human
I wrote the below code

    escape = ('#{%s}' % unicode(time.time()))
    def enline(line):
        return unicode(line).replace('|', escape)
    def deline(line):
        return line.replace(escape, '\\|')
    nu_keys_and_sizes = list([[k.keys()[0], getlen(k.keys()[0])] for k in json_list])
    maxlen = 0
    for key_list in nu_keys_and_sizes:
        current_size = key_list[1]
        counter = 0
        temp_list = json_list[counter].values()[0]
        temp_maxlen = len(temp_list)
        if (temp_maxlen > maxlen):
            maxlen = temp_maxlen
        for data in temp_list:
            value = unicode(data)
            size = getlen(value)
            if (size > current_size):
                key_list[1] = size
        counter += 1
    names = []
    idx = 0
    for key in nu_keys_and_sizes:
        size = key[1]
        name = (u'    %s' % rfill(key[0], size))
        names.append(enline(name))
    table = [(u'|%s|' % '|'.join(names))]
    for idx in xrange(maxlen):
        names = []
        for (data, key) in zip(json_list, nu_keys_and_sizes):
            try:
                value = data.values()[0][idx]
            except IndexError:
                value = ''
            size = key[1]
            names.append(enline((u'    %s' % rfill(value, size))))
        table.append((u'|%s|' % '|'.join(names)))
    return deline((u'\n'.join(table) + u'\n'))

What's a good function header?
assistant
#Here's a good function header.

def json_to_string(json_list, order):