1. ホーム
  2. python

[解決済み] Jupyter notebookでリストを表形式で出力するには?

2023-02-17 08:01:56

質問

以前どこかで見たような気がするのですが、どうしてもググっても例が出てきません。

いくつかのデータ行があります。

data = [[1,2,3],
        [4,5,6],
        [7,8,9],
        ]

そして、このデータをテーブルに出力したいのですが、例えば

+---+---+---+
| 1 | 2 | 3 |
+---+---+---+
| 4 | 5 | 6 |
+---+---+---+
| 7 | 8 | 9 |
+---+---+---+

もちろんprettytableのようなライブラリを使ったり、pandasをダウンロードしたりすることもできますが、私はそんなことにはとても興味がありません。

私はただJupyterノートブックのセルにテーブルとして行を出力したいだけです。どうしたらいいですか?

どのように解決するのですか?

私は最終的に再見つけた jupyter/IPython ドキュメント を見つけました。

これが必要だったんです。

from IPython.display import HTML, display

data = [[1,2,3],
        [4,5,6],
        [7,8,9],
        ]

display(HTML(
   '<table><tr>{}</tr></table>'.format(
       '</tr><tr>'.join(
           '<td>{}</td>'.format('</td><td>'.join(str(_) for _ in row)) for row in data)
       )
))

(若干、内包を間違えているかもしれませんが display(HTML('some html here')) は私たちが必要としていたものです)