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

Pythonのpprintモジュールでデータ構造を見やすく整形して出力する方法

Pythonのコンソールで複雑なデータ構造を出力する際には、pretty printer(pprint)モジュールを活用すると便利です。通常のprint関数では1行に詰め込まれてしまう長いデータも、このモジュールを使えば適切な位置で改行され、インデント付きの読みやすい形式で表示されます。

pprintモジュールを使用するには、まず以下のようにインポートします。

import pprint

pprintモジュールの主なメソッド

pprintモジュールには、用途に応じて使い分けられる複数のメソッドが用意されています。それぞれ詳しく見ていきましょう。

1. pprint.pformat(object, indent=1, width=80, depth=None, *, compact=False)

オブジェクトを整形した文字列として返すメソッドです。インデント幅(indent)、行の最大幅(width)、ネストの深さ(depth)などの情報を引数として渡すことで、出力形式を細かく制御できます。戻り値は文字列なので、変数に格納して後から利用することも可能です。

2. pprint.pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)

整形されたオブジェクトの表現をストリームに出力するメソッドです。stream引数を指定しない場合は、標準出力(sys.stdout)に出力されます。コンソールに直接結果を表示したい場合に使用します。

3. pprint.isreadable(object)

オブジェクトの整形された表現が「読み取り可能」かどうかを判定するメソッドです。eval()関数で再構築できる形式であればTrueを、そうでなければFalseを返します。

実行例:JSONデータの整形出力

ここでは、JSONファイルを読み込み、その内容をpprintで見やすく整形するサンプルコードを紹介します。

import pprint
import json

json_data = json.loads(open('sample_json.json', 'r').read())

print("The JSON Data:")
print(json_data)

if pprint.isreadable(json_data):
    print('The Data is Readable')
else:
    print('The Data is Not Readable')

print("\nThe JSON Data in correct format:")
pprint.pprint(json_data)

実行結果

The JSON Data:
[{'name': 'Subhas', 'age': 25, 'city': 'Kolkata'}, {'name': 'Palash', 'age': 22, 'city': 'Delhi'}, {'name': 'Vivek', 'age': 23, 'city': 'Bangaluru'}]
The Data is Readable

The JSON Data in correct format:
[{'age': 25, 'city': 'Kolkata', 'name': 'Subhas'},
 {'age': 22, 'city': 'Delhi', 'name': 'Palash'},
 {'age': 23, 'city': 'Bangaluru', 'name': 'Vivek'}]

このように、通常のprintでは1行にすべての要素が詰め込まれてしまいますが、pprint.pprint()を使うことで各辞書要素が独立した行に分割され、キーと値の対応関係が一目でわかる整然とした出力になります。デバッグ作業やログ確認の際に非常に役立つため、ぜひ活用してみてください。

  1. Pythonによる巡回冗長検査(CRC)の実装方法とサンプルコード

    巡回冗長検査(CRC)とは 巡回冗長検査(CRC:Cyclic Redundancy Check)は、デジタルデータ内の誤りを検出するために広く利用されている手法で、伝送エラーの検出に特に有効な技術として知られています。この手法の計算の中核を担っているのは「2進数の除算(バイナリ除算)」です。 CRCでは、一連の冗長ビットからなる「CRCビット(検査用ビット)」を使用します。これらのビットはデータ単位(データワード)の末尾に付加され、付加後のデータ単位全体が、あらかじめ決められた特定の2進数(除数)でちょうど割り切れるように構成されます。 受信側での誤り判定の流れ 受信側では、受信したデータ

  2. PythonでJSONファイルを見やすく整形表示(プリティプリント)する方法

    Pythonは、他の多くのプログラミング言語と同様に、JavaScript Object Notation(JSON)データをスムーズに扱うことができます。さまざまなソースからJSONデータを取り込み、他のファイルと同じように操作できるため、JSONファイルを読みやすい形で整形表示(プリティプリント)したい場合に非常に便利です。 この記事では、PythonでJSONファイルをプリティプリントする2つの方法をご紹介します。どちらの方法もターミナルとコマンドラインを使用しますが、そのうち1つはPythonの知識がまったく不要です。 プリティプリントとは?(JSONファイルで使う理由) 簡単に言え