Sé que llego tarde a la fiesta, pero acabo de hacer una biblioteca para esto que creo que realmente podría ayudar. Es extremadamente simple, por eso creo que deberías usarlo. Se llama TableIT .
Uso básico
Para usarlo, primero siga las instrucciones de descarga en la página de GitHub .
Luego impórtalo:
import TableIt
Luego haga una lista de listas donde cada lista interna sea una fila:
table = [
[4, 3, "Hi"],
[2, 1, 808890312093],
[5, "Hi", "Bye"]
]
Entonces todo lo que tienes que hacer es imprimirlo:
TableIt.printTable(table)
Este es el resultado que obtienes:
+--------------------------------------------+
| 4 | 3 | Hi |
| 2 | 1 | 808890312093 |
| 5 | Hi | Bye |
+--------------------------------------------+
Nombres de campo
Puede usar nombres de campo si lo desea ( si no está usando nombres de campo, no tiene que decir useFieldNames = False porque está configurado de forma predeterminada ):
TableIt.printTable(table, useFieldNames=True)
De eso obtendrás:
+--------------------------------------------+
| 4 | 3 | Hi |
+--------------+--------------+--------------+
| 2 | 1 | 808890312093 |
| 5 | Hi | Bye |
+--------------------------------------------+
Hay otros usos para, por ejemplo, podría hacer esto:
import TableIt
myList = [
["Name", "Email"],
["Richard", "richard@fakeemail.com"],
["Tasha", "tash@fakeemail.com"]
]
TableIt.print(myList, useFieldNames=True)
A partir de ese:
+-----------------------------------------------+
| Name | Email |
+-----------------------+-----------------------+
| Richard | richard@fakeemail.com |
| Tasha | tash@fakeemail.com |
+-----------------------------------------------+
O podrías hacer:
import TableIt
myList = [
["", "a", "b"],
["x", "a + x", "a + b"],
["z", "a + z", "z + b"]
]
TableIt.printTable(myList, useFieldNames=True)
Y de eso obtienes:
+-----------------------+
| | a | b |
+-------+-------+-------+
| x | a + x | a + b |
| z | a + z | z + b |
+-----------------------+
Colores
También puedes usar colores.
Puede usar colores mediante la opción de color ( de forma predeterminada está establecida en Ninguno ) y especificando valores RGB.
Usando el ejemplo de arriba:
import TableIt
myList = [
["", "a", "b"],
["x", "a + x", "a + b"],
["z", "a + z", "z + b"]
]
TableIt.printTable(myList, useFieldNames=True, color=(26, 156, 171))
Entonces obtendrás:
Tenga en cuenta que la impresión de colores puede no funcionar para usted, pero funciona exactamente igual que las otras bibliotecas que imprimen texto en color. Lo he probado y cada color funciona. El azul tampoco está desordenado como lo haría si usara el valor predeterminado34m
secuencia de escape ANSI (si no sabe qué es eso, no importa). De todos modos, todo proviene del hecho de que cada color es un valor RGB en lugar de un valor predeterminado del sistema.
Más información
Para obtener más información, consulte la página de GitHub