8
votes

Liste d'impression au format de tableau en Python

J'essaie d'imprimer plusieurs listes (longueur égale) comme des colonnes d'une table.

Je lis je lis des données à partir d'un fichier .txt et à la fin du code, j'ai 5 listes, que j'aimerais imprimer en tant que colonnes séparées mais espace.


2 commentaires

Dupliqué possible de Données tabulaires d'impression dans Python


Pour l'affichage de l'interface graphique fantaisie, vous pouvez utiliser Pyqt, un QTableWidget.


5 Réponses :


1
votes

Remper que vous avez une liste de listes:

>>> zip([1,2,3], [4,5,6], [7,8,9])
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]


0 commentaires

8
votes

Je vais vous montrer un analogique à 3 listes:

>>> l1 = ['a', 'b', 'c']
>>> l2 = ['1', '2', '3']
>>> l3 = ['x', 'y', 'z']
>>> for row in zip(l1, l2, l3):
...     print ' '.join(row)

a 1 x
b 2 y
c 3 z


0 commentaires

0
votes
In [1]: a = [['1','2'],['3','4']]
In [5]: for nested_list in a:
...:     print '\t'.join(nested_list)
...: 
1       2
3       4

2 commentaires

Il veut que chaque subliste soit une colonne , pas une ligne.


Je ne comprends donc pas la question, puis je suppose. Je ne suis toujours pas sûr de ce qu'il veut dire, mais il semble que je suis le seul à comprendre ceci: /



7
votes

Vous pouvez utiliser mon package Beautifultable . Il prend en charge l'ajout de données par des rangées ou des colonnes ou même de mélanger à la fois les approches. Vous pouvez insérer, supprimer, mettre à jour n'importe quelle ligne ou colonne.

USAGE H2>
>>> from beautifultable import BeautifulTable
>>> table = BeautifulTable()
>>> table.column_headers = ["name", "rank", "gender"]
>>> table.append_row(["Jacob", 1, "boy"])
>>> table.append_row(["Isabella", 1, "girl"])
>>> table.append_row(["Ethan", 2, "boy"])
>>> table.append_row(["Sophia", 2, "girl"])
>>> table.append_row(["Michael", 3, "boy"])
>>> print(table)
+----------+------+--------+
|   name   | rank | gender |
+----------+------+--------+
|  Jacob   |  1   |  boy   |
+----------+------+--------+
| Isabella |  1   |  girl  |
+----------+------+--------+
|  Ethan   |  2   |  boy   |
+----------+------+--------+
|  Sophia  |  2   |  girl  |
+----------+------+--------+
| Michael  |  3   |  boy   |
+----------+------+--------+


0 commentaires

0
votes

Essayez mon bibliothèque

Remarque: cette réponse est déjà affichée sur cette question , et ceci Question . P>

Je viens de faire une bibliothèque pour cela que je pense pourrait vraiment aider. C'est extrêmement simple, c'est pourquoi je pense que vous devriez l'utiliser. Il s'appelle tablette forte>. P>

Utilisation de base h2>

Pour l'utiliser, suivez d'abord les instructions de téléchargement sur le GITUB Page . p>

Importez-le: P>

import TableIt

myList = [
    ["", "a", "b"],
    ["x", "a + x", "a + b"],
    ["z", "a + z", "z + b"]
]

TableIt.printTable(myList, useFieldNames=True, color=(26, 156, 171))


0 commentaires