Как объединить / объединить таблицу в Python таблицу? - PullRequest
2 голосов
/ 13 июля 2020

Я играл с модулем Python tabulate после того, как нашел его здесь .

Вместо того, чтобы иметь отдельное поле при чтении его из файла, можно ли было бы объединить / присоединить?

Вот пример кода и результат.

wolf@linux:~$ cat file.txt 
Apples
Bananas
Cherries
wolf@linux:~$ 

Python код

wolf@linux:~$ cat script.py 
from tabulate import tabulate

with open(r'file.txt') as f:
    for i,j in enumerate(f.read().split(), 1):
        table = [[ i,j ]]
        print(tabulate(table, tablefmt="grid"))
wolf@linux:~$ 

Вывод

wolf@linux:~$ python script.py 
+---+--------+
| 1 | Apples |
+---+--------+
+---+---------+
| 2 | Bananas |
+---+---------+
+---+----------+
| 3 | Cherries |
+---+----------+
wolf@linux:~$ 

Желаемый выход

wolf@linux:~$ python script.py 
+---+----------+
| 1 | Apples   |
+---+----------+
| 2 | Bananas  |
+---+----------+
| 3 | Cherries |
+---+----------+
wolf@linux:~$ 

1 Ответ

2 голосов
/ 13 июля 2020

Вы должны создать одну таблицу и распечатать, вместо того, чтобы создавать table 3 раза и печатать каждую:

from tabulate import tabulate

with open(r'temp.txt') as f:
    table = []
    for i,j in enumerate(f.read().split(), 1):
        table.append([ i,j ])
    print(tabulate(table, tablefmt="grid"))

Результат:

+---+----------+
| 1 | Apples   |
+---+----------+
| 2 | Bananas  |
+---+----------+
| 3 | Cherries |
+---+----------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...