Comment puis-je sortie des listes comme une table dans Jupyter portable?
Je sais que j'ai vu quelques exemple quelque part avant, mais pour la vie de moi je ne le trouve pas quand googler autour.
J'ai quelques lignes de données:
data = [[1,2,3],
[4,5,6],
[7,8,9],
]
Et je veux à la sortie de ces données dans un tableau, par exemple
+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
| 4 | 5 | 6 |
+---+---+---+
| 7 | 8 | 9 |
+---+---+---+
Évidemment, je pourrais utiliser une bibliothèque comme prettytable ou télécharger des pandas ou quelque chose, mais je suis très désintéressé à le faire.
Je veux juste à la sortie de mes lignes sous forme de tableaux dans mon Jupyter portable cellulaire. Comment puis-je faire cela?
- Voulez-vous utiliser juste
print
fonctions? Sont les numéros fixe en largeur (1 chiffres, trois chiffres? - Ici, j'ai écrit pythonic l'abstraction. Code sans tracas. 🙂 jupyter_table_class.py
Vous devez vous connecter pour publier un commentaire.
Je viens de découvrir que tabuler a une option HTML et est plutôt simple à utiliser.
Assez similaire à Wayne Werner réponse:
Toujours à la recherche de quelque chose de simple à utiliser pour créer plus complexe des dispositions de table comme avec le latex de la syntaxe et mise en forme pour fusionner des cellules et de faire de la substitution de variable dans un bloc-notes:
Permettre à des références à Python variables en Markdown cellules #2958
J'ai enfin retrouvé le jupyter/IPython documentation que je cherchais.
J'avais besoin de ce:
(J'ai peut-être légèrement sali les interprétations, mais
display(HTML('some html here'))
est ce dont nous avions besoin)Il y a une belle astuce: enveloppez les données avec les pandas DataFrame.
Il affiche les données comme:
to_html()
, voir stackoverflow.com/a/29665452/2866660tabletext fit ce bien
résultat:
Vous pouvez essayer d'utiliser la fonction suivante
Ok, donc c'était un peu plus dur que je pensais:
Cela devrait fonctionner pour nombre variable de lignes, de colonnes et le nombre de chiffres (pour les chiffres)
Générales de l'ensemble de fonctions pour rendre toute python structure de données (dicts et listes imbriquées ensemble) au format HTML.
J'ai utilisé le même problème. Je ne pouvais pas trouver quelque chose qui pourrait m'aider donc j'ai fini par faire la classe
PrintTable
--le code ci-dessous. Il y a aussi une sortie. L'utilisation est simple:ou en une seule ligne:
De sortie:
Le code de la classe
PrintTable
Démonstration
J'ai récemment utilisé
prettytable
pour le rendu d'une belle table ASCII. Il est semblable à la postgres CLI de sortie.De sortie:
Je veux à la sortie d'un tableau où chaque colonne correspond à la plus petite possible, la largeur, la
où les colonnes sont rembourrés avec un espace blanc (mais cela peut être changé) et les lignes sont séparées par des sauts de ligne (mais cela peut être changé) et où chaque élément est formaté à l'aide de
str
(mais...).La signature de la fonction,
ftable(tbl, pad=' ', sep='\n', normalize=str)
, avec ses arguments par défaut est destiné àfournir pour un maximum de flexibilité.
Vous pouvez personnaliser
pad='&', sep='\\\\\n'
d'avoir la majorité de LaTeX table)format --- par défaut, pour le maximum de généralité, il est
str
mais sivous savez que toutes vos données à virgule flottante
lambda item:
pourrait être un choix raisonnable, etc."%.4f"%item
Superficielle test:
J'ai besoin de quelques données de test, comprenant éventuellement des colonnes de largeur différente
de sorte que l'algorithme doit être un peu plus complexe (mais juste un peu;)