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()を使うことで各辞書要素が独立した行に分割され、キーと値の対応関係が一目でわかる整然とした出力になります。デバッグ作業やログ確認の際に非常に役立つため、ぜひ活用してみてください。
-
Pythonによる巡回冗長検査(CRC)の実装方法とサンプルコード
巡回冗長検査(CRC)とは 巡回冗長検査(CRC:Cyclic Redundancy Check)は、デジタルデータ内の誤りを検出するために広く利用されている手法で、伝送エラーの検出に特に有効な技術として知られています。この手法の計算の中核を担っているのは「2進数の除算(バイナリ除算)」です。 CRCでは、一連の冗長ビットからなる「CRCビット(検査用ビット)」を使用します。これらのビットはデータ単位(データワード)の末尾に付加され、付加後のデータ単位全体が、あらかじめ決められた特定の2進数(除数)でちょうど割り切れるように構成されます。 受信側での誤り判定の流れ 受信側では、受信したデータ
-
PythonでJSONファイルを見やすく整形表示(プリティプリント)する方法
Pythonは、他の多くのプログラミング言語と同様に、JavaScript Object Notation(JSON)データをスムーズに扱うことができます。さまざまなソースからJSONデータを取り込み、他のファイルと同じように操作できるため、JSONファイルを読みやすい形で整形表示(プリティプリント)したい場合に非常に便利です。 この記事では、PythonでJSONファイルをプリティプリントする2つの方法をご紹介します。どちらの方法もターミナルとコマンドラインを使用しますが、そのうち1つはPythonの知識がまったく不要です。 プリティプリントとは?(JSONファイルで使う理由) 簡単に言え