Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのpprintモジュールでデータを読みやすく整形する方法

Pythonには、printメソッドの出力を美しく整形するための「プリティプリント(pretty print)」、通称pprintと呼ばれる便利な機能が用意されています。

例えば、WebページからJSON形式のコンテンツを取得してそのまま出力すると、すべてが1行に詰め込まれて表示され、内容を把握するのが非常に困難になります。しかしpprintを使えば、JSONの構造(タグ)に従って自動的にインデントや改行が加えられ、人間にとって読みやすい形に整えてくれます。

pprintを使わない場合

まずは、従来のprintメソッドを使ってWebページのJSONコンテンツを出力してみましょう。結果はすべて1行で表示されます。

コード例

import requests
json_url_link = "https://pypi.org/pypi/sampleproject/json"
result = requests.get(json_url_link)
print(result.json())

出力結果

上記のコードを実行すると、次のような結果が得られます。

{'info': {'author': 'The Python Packaging Authority', 'author_email': 'pypa-dev@googlegroups.com', . . .

このように、長いJSONデータが1行に連なって表示されるため、どのキーにどんな値が入っているのか一目では把握しづらくなります。

pprintを使った場合

次に、同じコンテンツに対してpprintを適用してみます。pprintは標準ライブラリに含まれているため、追加のインストールは不要です。from pprint import pprintと記述するだけで利用できます。

コード例

import requests
from pprint import pprint
json_url_link = "https://pypi.org/pypi/sampleproject/json"
result = requests.get(json_url_link)
pprint(result.json())

出力結果

上記のコードを実行すると、次のような結果が得られます。

{'info': {'author': 'The Python Packaging Authority',
          'author_email': 'pypa-dev@googlegroups.com',
          'bugtrack_url': None,
          'classifiers': ['Development Status :: 3 - Alpha',
                          'Intended Audience :: Developers',
                          'License :: OSI Approved :: MIT License',
                          'Programming Language :: Python :: 2',
                          'Programming Language :: Python :: 2.7',

ご覧のとおり、出力が階層構造に沿って整理され、ネストされた辞書やリストの中身も非常に見やすくなっています。

まとめ

pprintは、APIレスポンスや設定ファイルなど、複雑なデータ構造をデバッグ・確認する際に非常に役立つツールです。通常のprintとの違いはわずか数行のコードですが、可読性の向上効果は絶大です。日常的な開発作業にぜひ取り入れてみてください。

  1. Pythonで身につける統計的思考 ― グラフとチャートによるデータ分析入門

    統計学は、機械学習(ML)やAIを学ぶうえで欠かせない基礎知識です。これらの技術分野ではPythonが事実上の標準言語となっているため、統計分析を取り入れたPythonプログラムの書き方をマスターすることが重要になります。本記事では、さまざまなPythonライブラリを活用してグラフやチャートを作成する方法を解説します。多様なチャートを使いこなせるようになると、データを素早く分析し、結論を視覚的に導き出せるようになります。 データの準備 ここでは、さまざまな種子(シード)に関するデータを含むデータセットを使用します。このデータセットはKaggleから入手でき、URLは後述のサンプルコード内に記載

  2. Pythonで国勢調査データを分析する方法|インドの人口統計データを可視化してみよう

    国勢調査(センサス)とは、特定の対象人口に関する情報を体系的に記録・収集する取り組みです。収集されるデータには、人口統計、経済状況、居住環境など、さまざまなカテゴリの情報が含まれています。これらのデータは、政府が現状を正確に把握し、将来に向けた政策立案を行ううえで重要な基礎資料となります。本記事では、Pythonを活用してインドの国勢調査データを分析する方法を解説します。人口動態や経済指標など複数の観点からデータを掘り下げ、その結果をグラフとして視覚的に表現します。使用するデータセットはKaggleから入手した「India Districts Census 2011」です。データの準備と読み込