Pythonでデータを整形して出力する

Pythonでリストや辞書などのデータを整形して出力してみます。

pprintモジュールで整形出力する

Pythonの標準モジュールの中に、pprintというモジュールがあります。このモジュールのpprintメソッドを使うと、データを整形して出力してくれます。

例えば、こんな感じです。

>>> text
'難波津に咲くやこの花冬ごもり今は春べと咲くやこの花\nちはやぶる神代も聞かず竜田川からくれなゐに水くくるとは\n瀬をはやみ 岩にせかるる滝川のわれても末に逢はむとぞ思ふ\n憂かりける人を初瀬の山おろしよ激しかれとは祈らぬものを\nもろともにあはれと思え山桜花よりほかに知る人もなし\n'

>>> import pprint
>>> pprint.pprint(text)
('難波津に咲くやこの花冬ごもり今は春べと咲くやこの花\n'
 'ちはやぶる神代も聞かず竜田川からくれなゐに水くくるとは\n'
 '瀬をはやみ岩にせかるる滝川のわれても末に逢はむとぞ思ふ\n'
 '憂かりける人を初瀬の山おろしよ激しかれとは祈らぬものを\n'
 'もろともにあはれと思え山桜花よりほかに知る人もなし\n')
>>>
>>> pprint.pprint(text.splitlines())
['難波津に咲くやこの花冬ごもり今は春べと咲くやこの花',
 'ちはやぶる神代も聞かず竜田川からくれなゐに水くくるとは',
 '瀬をはやみ岩にせかるる滝川のわれても末に逢はむとぞ思ふ',
 '憂かりける人を初瀬の山おろしよ激しかれとは祈らぬものを',
 'もろともにあはれと思え山桜花よりほかに知る人もなし']
>>>

おお、見やすい。

使い方はこうです。

import pprint

pprint.pprint(object, [stream], [indent], [width], [depth], [compact])
変数 内容
object object 出力する対象のオブジェクト。
stream   省略可。既定値はNone。出力先。Noneのときはstdout。
indent int 省略可。既定値は1。インデント幅。
width int 省略可。既定値は80。出力する幅の文字数。
depth int 省略可。既定値はNone。出力するネストの深さ。
compact bool 省略可。既定値はFalse。Trueにするとwidthに入る範囲で行数を小さくしようとする。

広告

Pythonカテゴリの投稿