標題の通り、コマンドプロンプトやターミナル上でサクッとテーブル表示したい時に使えるライブラリのご紹介です。
該当する人
- Jupyter NoteBookが嫌いで使ってない
- サクッと中身だけをプロンプト上で確認したい(SQLが叩けないローカル環境 且つ エクセルやCSVエディタを立ち上げたくない)
やりたいこと
こんな感じでキレイに行列でズレなく表示したい↓↓↓
必要なライブラリ
いくつかあるようですが、ほぼ横一線かと思います。お好きなものをどうぞ。今回はドキュメントがすぐみつかったtabulateを使います。紹介の仕方が雑でスミマセン。
使ってみる
おなじみのkaggleのtitanicのデータを用います。
⇒ Titanic: Machine Learning from Disaster
はじめにpandas、tabulateをインポートしておき、ローデータをデータフレームに渡しておきます。
1 2 3 4 5 6 7 |
#! /usr/bin/env python # -*- coding:utf-8 -*- import pandas as pd from tabulate import tabulate df = pd.read_csv('titanic.txt' ,encoding='utf-8', sep='\t') |
プリントしてみましょう。何も指定しないと、クラッシュ防止の為、勝手に省略されてしまったりするので、head関数をネストし先頭50行を取り出してみます。
1 |
print(tabulate(df.head(50), df.columns,tablefmt='presto', showindex=True)) |
引数に関してはドキュメントにもあるように(英語苦手なので間違ってたらゴメンナサイ)以下の必須項目とオプションがある模様。
・第一引数にテーブルを:今回は変数df
・第二引数にheaders情報を:今回は変数df.columns
・第三引数以降のオプション:
└tablefmt: 点線の装飾を選べます
・plain
・simple
・github
・grid
・fancy_grid
・pipe
・orgtbl
・jira
・presto
・pretty
・psql
・rst
・mediawiki
・moinmoin
・youtrack
・html
・latex
・latex_raw
・latex_booktabs
・textile
・第三引数以降のオプション:
└showindex: インデックスナンバーをつけるかどうか?
・True or False等
キレイに表示されました。ステキなライブラリですね!!