コーダー仲間の皆さん、こんにちは。
この記事では、Pythonで tabulate
関数の助けを借りてテーブルを作成する方法を学び、作成したテーブルに関連するさまざまなプロパティについて学びます。
Python でテーブルを作成するために tabulate モジュールを使用する手順
さっそくですが、tabulateモジュールを使ってPythonで表を作成する手順を紹介します。
1. tabulate` のインポート
最初のステップは、tabulate ライブラリから tabulate 関数をインポートすることです。
もし、エラーが発生した場合は、コマンドプロンプトで pip install
コマンドを実行して、tabulate ライブラリがインストールされていることを確認してください。
from tabulate import tabulate
|
それでは、tabulate関数の助けを借りて、最初の表を作成してみましょう。
2. 簡単なテーブルの作成
テーブルのデータは、後述のコードに示すように、ネストされたリストの形で格納されます。
1
2
3
4
5
6
|
all_data = [[ "Roll Number" , "Student name" , "Marks" ],
[ 1 , "Sasha" , 34 ],
[ 2 , "Richard" , 36 ],
[ 3 , "Judy" , 20 ],
[ 4 , "Lori" , 39 ],
[ 5 , "Maggie" , 40 ]]
|
データを集計するには、tabulate
関数にデータを渡すだけでよい。
また、headers
という属性を使って、最初のネストしたリストをテーブルのヘッドにすることができる。
1
2
|
table1 = tabulate(all_data)
table2 = tabulate(all_data,headers = 'firstrow' )
|
両方のテーブルの結果は以下のようになります。
----------- ------------ ----- Roll Number Student name Marks 1 Sasha 34 2 Richard 36 3 Judy 20 4 Lori 39 5 Maggie 40 ----------- ------------ ----- |
Roll Number Student name Marks ------------- -------------- ------- 1 Sasha 34
2 Richard 36
3 Judy 20
4 Lori 39
5 Maggie 40
|
3. Pythonの表を見栄えよくするための書式設定
Python のテーブルの見栄えを良くするために、テーブルにボーダーを追加して、テキストデータではなく、より表形式に見えるようにすることができます。
このボーダーは tablefmt
属性の値を grid
に設定することで追加することができます。
print (tabulate(all_data,headers = 'firstrow' ,tablefmt = 'grid' ))
|
+---------------+----------------+---------+ | Roll Number | Student name | Marks | +===============+================+=========+ | 1 | Sasha | 34 | +---------------+----------------+---------+ | 2 | Richard | 36 | +---------------+----------------+---------+ | 3 | Judy | 20 | +---------------+----------------+---------+ | 4 | Lori | 39 | +---------------+----------------+---------+ | 5 | Maggie | 40 | +---------------+----------------+---------+ |
見栄えをよくするために、単純なグリッドの代わりに fancy_grid
を使用することができます。
print (tabulate(all_data,headers = 'firstrow' ,tablefmt = 'fancy_grid' ))
|
╒═══════════════╤════════════════╤═════════╕ │ Roll Number │ Student name │ Marks │ ╞═══════════════╪════════════════╪═════════╡ │ 1 │ Sasha │ 34 │ ├───────────────┼────────────────┼─────────┤ │ 2 │ Richard │ 36 │ ├───────────────┼────────────────┼─────────┤ │ 3 │ Judy │ 20 │ ├───────────────┼────────────────┼─────────┤ │ 4 │ Lori │ 39 │ ├───────────────┼────────────────┼─────────┤ │ 5 │ Maggie │ 40 │ ╘═══════════════╧════════════════╧═════════╛ |
4. tabulateからテーブルのHTMLコードを抽出する
テーブルのHTMLコードを抽出するには、tablefmt
属性にhtml
を設定する必要があります。
以下、同様に表示されます。
print (tabulate(all_data,headers = 'firstrow' ,tablefmt = 'html' ))
|
< table >
< thead >
< tr >< th style = "text-align: right;" > Roll Number</ th >< th >Student name </ th >< th style = "text-align: right;" > Marks</ th ></ tr >
</ thead >
< tbody >
< tr >< td style = "text-align: right;" > 1</ td >< td >Sasha </ td >< td style = "text-align: right;" > 34</ td ></ tr >
< tr >< td style = "text-align: right;" > 2</ td >< td >Richard </ td >< td style = "text-align: right;" > 36</ td ></ tr >
< tr >< td style = "text-align: right;" > 3</ td >< td >Judy </ td >< td style = "text-align: right;" > 20</ td ></ tr >
< tr >< td style = "text-align: right;" > 4</ td >< td >Lori </ td >< td style = "text-align: right;" > 39</ td ></ tr >
< tr >< td style = "text-align: right;" > 5</ td >< td >Maggie </ td >< td style = "text-align: right;" > 40</ td ></ tr >
</ tbody >
</ table >
|
結論
この記事では、tabulate
関数を使って独自の表形式データを作成し、また、テーブルのいくつかのプロパティについて学びました。
お読みいただきありがとうございました。