Я использую Python 3 и PrettyTable для создания таблицы. Как я могу преобразовать список в отдельные элементы списка в функции PrettyTable add_row
(в основном, получить плоский список вместо списка списков)? Я заметил, что есть функции для выравнивания списка списков, но проблема в том, что родительский список служит входом в функции add_row
. Каждая строка для списка создается вручную, поэтому я не хочу создавать функцию, которая будет создавать каждую строку таблицы целиком.
Вот код для справки:
from beautifultable import BeautifulTable
from prettytable import PrettyTable
list = ["dog","is","black"] # to be used as 2nd, 3rd, and 4th words
x = PrettyTable()
x.title = "TEST TABLE"
x.field_names = ["1st word", "2nd word", "3rd word", "4th word"]
x.add_row(["the","dog","is","brown"])
x.add_row(["he","is","over","there"])
x.add_row(["1","9","3","1"])
x.add_row(["the",list[0],list[1],list[2]])
#x.add_row(["the",list])
print(x)
Вывод выглядит следующим образом:
+-------------------------------------------+
| TEST TABLE |
+----------+----------+----------+----------+
| 1st word | 2nd word | 3rd word | 4th word |
+----------+----------+----------+----------+
| the | dog | is | brown |
| he | is | over | there |
| 1 | 9 | 3 | 1 |
| the | dog | is | black |
+----------+----------+----------+----------+
Я могу использовать следующий код:
x.add_row (["the", список [0], list [1], list [2]])
Но вместо того, чтобы вручную печатать каждое обозначение элемента списка ('list[0]'
, 'list[1]'
, et c.), I ' Я бы предпочел ссылаться на список один раз. Поэтому, когда я пытаюсь использовать следующий код:
x.add_row (["the", список])
, я получаю следующую ошибку:
Traceback (последний вызов был последним): файл "test.py", строка 16, в файле x.add_row (["the", list]) "/anaconda/lib/python3.6/ site-packages / prettytable / prettytable.py ", строка 928, в add_row" Строка имеет неверное количество значений, (фактическое)% d! =% d (ожидаемое) "% (len (строка), len (self._field_names) )) Исключение: строка содержит неверное количество значений, (фактическое) 2! = 4 (ожидаемое)
Я понимаю, что формат моего кода дает только 2 ввода, но как я могу отформатировать каждое из них? строка add_row
, чтобы я мог сгладить список в функции add_row
, чтобы получить 4 входа вместо 2?
Это желаемый результат:
+-------------------------------------------+
| TEST TABLE |
+----------+----------+----------+----------+
| 1st word | 2nd word | 3rd word | 4th word |
+----------+----------+----------+----------+
| the | dog | is | brown |
| he | is | over | there |
| 1 | 9 | 3 | 1 |
| the | dog | is | black |
| the | dog | is | black |
+----------+----------+----------+----------+