formatear datos para la salida tabular
en Python, representar datos en formato tabular puede ser un desafío para los principiantes. Este artículo proporciona una descripción general de varias soluciones fáciles de implementar.
el problema
Suponga que tiene una lista que contiene dos encabezados y una matriz que representa los datos de la tabla, como:
teams_list = ["Man Utd", "Man City", "T Hotspur"] data = np.array([[1, 2, 1], [0, 1, 0], [2, 4, 2]])
la salida deseada es una tabla con los nombres de encabezado como columnas y los valores de matriz como filas:
[&] [&] | man utd[&] man ciudad | t HotSpur||
---|---|---|---|
0 | 0 | Man Ciudad | |
1 | 0 | t Hotspur | |
1 | 2 | 1. tabule |
2. PrettyTable
PrettyTable ofrece más opciones de personalización:
de PrettyTable Import PrettyTable t = PrettyTable ([''] Teams_List) T.Add_Rows ([[Nombre] Lista (fila) para el nombre, fila en zip (teams_list, data)])) imprimir (t)
from tabulate import tabulate print(tabulate([['Man Utd', 1, 0, 0], ['Man City', 1, 1, 0], ['T Hotspur', 0, 1, 2]], headers=teams_list))
TextTable proporciona un control de grano fino sobre la apariencia de la tabla:
de TextTable Import TextTable t = textTable () T.Add_headers (Teams_List) t.add_rows (datos) print (t.draw ())
from prettytable import PrettyTable t = PrettyTable([''] teams_list) t.add_rows([[name] list(row) for name, row in zip(teams_list, data)]) print(t)
Termtables ofrece opciones de estilo adicionales:
importar termtables como tt print (tt.to_string (['' '] Teams_list] [[Nombre] Lista (fila) para el nombre, fila en zip (teams_list, data)], >
from texttable import Texttable t = Texttable() t.add_headers(teams_list) t.add_rows(data) print(t.draw())
terminalTables: admite filas múltiples de línea.
asciable: puede leer y escribir fácilmente varios datos de ascii. esfuerzo.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3