2016-01-15 3 views
0

Мне нужно создать таблицу для отображения нескольких наборов данных, собранных с различными условиями. Это то, что мне нужно в таблице выглядеть следующим образом:Таблица Python с несколькими строками заголовков

 Config 1  Config 2 
Test Data 1 Data 2 Data 1 Data 2 
abc  123  123  123  123 

Таким образом, система была установка с конфигурацией 1, а затем были собраны два набора данных. Система сбрасывается с конфигурацией 2, а затем собирается набор данных.

Я пытаюсь использовать симпатичный, но не нашел ничего, что указывает, как сделать второй заголовок, который применяется к нескольким из следующих столбцов.

+0

Просто чтобы быть ясно: У вас уже есть данные, но вам нужен способ их отображения? Если вам нужна помощь в структуре данных, я могу помочь. К сожалению, я не делал много работы с дисплеем в python, поэтому мне будет труднее помочь, если это так ... – KjetilNordin

+0

У меня есть файл с некоторыми данными, которые необходимо проанализировать сначала, на этом фронте я хорошо, спасибо. – BobJoe1803

ответ

1

Вы могли бы написать функцию для выравнивания всех ваших записей данных с использованием максимальной ширины столбцов следующим образом:

def write_cols(data): 
    col_spacer = " "  # added between columns 
    widths = [0] * len(data[0]) 

    # Calculate the widest entry for each column 
    for row in data: 
     widths[:] = [max(widths[index], len(str(col))) for index, col in enumerate(row)] 

    return [col_spacer.join("{:<{width}}".format(col, width=widths[index]) for index, col in enumerate(row)) for row in data] 

data = [['', 'Config 1', '', 'Config 2', ''], ["Test", "Data 1", "Data 2", "Data 1", "Data 2"], ["abc", "123", "123", "123", "123"]] 

for row in write_cols(data): 
    print row 

Это будет отображать данные следующим образом:

 Config 1   Config 2   
Test Data 1  Data 2 Data 1  Data 2 
abc 123  123  123  123 
+0

Это сделаю, спасибо. – BobJoe1803

+0

Отлично, рад, что это сработало. Если вы довольны решением, вы можете щелкнуть серый тик, чтобы принять его. –

Смежные вопросы