Pythonのpprintとprintの違いやpprintを使ってjsonを整形した状態で出力する方法

スポンサーリンク

今回は、Pythonのpprintモジュールの機能を中心に詳しく説明します。


スポンサーリンク

Python pprint モジュールを理解する

どのプログラミング言語であっても、最終製品やアプリケーションを表現する際に、データのプレゼンテーションは常に重要な役割を担ってきました。

開発者以外にも、機能チームの多くの人が、操作や分析を進めるために、特定のモジュールの結果を利用します。

同じように、出力はきれいで明確であることが必要です。

特にAPIコールでは、多くの場合、フォーマットされていないデータがJSONファイルとしてキーと値のペアの形でコールから取得されます。

このような整形されていない大量のデータを実機で確認するのは大変です。

そこで、この問題を解決するために、Python pprint モジュールを用意しました。

Python pprintモジュールは、渡された出力全体をフォーマットし、構造化された形式で同じものを表示します。

では、Python print()関数の問題点は何でしょうか?print()関数は出力を表しますが、書式を設定しないため、重いデータには適していません。

以下の例を見て、print()関数の問題点を理解してください。


なぜ print() 関数を使わないの?

以下の例では、APIからデータを取得し、JSON形式にロードしています。

print()関数を使用して、データのロードを表示しようとします。

import json
response_API = requests.get('https://gmail.googleapis.com/$discovery/rest?version=v1')
#print(response_API.status_code)
data = response_API.text
parse_json = json.loads(data)
print(parse_json)

結果は、以下の通りです。

import requests
import json
from pprint import pprint
response_API = requests.get('https://gmail.googleapis.com/$discovery/rest?version=v1')
#print(response_API.status_code)
data = response_API.text
parse_json = json.loads(data)
pprint(parse_json)

このように、大量のデータが非構造化された形で表現されるため、誰でもがJSONデータを分析することが難しくなっています。


APIコールからのデータでpprint()モジュールを実装する

一方、上記の例でAPIから取得したデータと同じものを、今度はpprint()モジュールを使って表現してみます。

例えば、以下の様になります。

Python print Function
Python print Function

結果は以下の通りです。

Python pprint Module
Python pprint Module

以上のように、pprint()関数を使うと、かさばるデータ全体が構造化されたきれいな形式で表現され、データの読み取りや分析が容易になります。


まとめ

pprint()関数を他のシナリオで実装してみて、あなたの理解をコメント欄で教えてください。

また、何か疑問があれば、お気軽にメッセージをお寄せください。

Pythonプログラミングに関連するこのような記事のために、私たちと一緒にご期待ください。

それまでは、幸せな学習!

タイトルとURLをコピーしました