コーダー仲間の皆さん、こんにちは。
この記事では、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 Marks1 Sasha 342 Richard 363 Judy 204 Lori 395 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関数を使って独自の表形式データを作成し、また、テーブルのいくつかのプロパティについて学びました。
お読みいただきありがとうございました。