Pythonのtextwrapモジュールでテキストを折り返し・整形する方法
Pythonのtextwrapモジュールは、テキストの折り返し(ラップ)や詰め込み(フィル)を行うためのTextWrapperクラスを提供しています。さらに、同じ目的で手軽に使える便利関数もいくつか用意されています。ここでは、代表的なwrap()とfill()の使い方を解説します。
wrap(text) — 折り返し結果をリストで取得する
wrap(text)は、引数として渡された1つの段落(文字列)を、各行が最大width文字以内に収まるように折り返します。戻り値は出力行のリストで、末尾に改行コードは含まれません。
fill(text) — 整形結果を1つの文字列で取得する
fill(text)は、同様に1つの段落を折り返しますが、改行で連結された整形済みの段落全体を「1つの文字列」として返します。そのまま出力したい場合などに便利です。
実行例:wrap() の基本動作
>>> sample_text = ''' The textwrap module provides some convenience functions, as well as TextWrapper class that does all the work. If you’re just wrapping or filling one or two text strings, the convenience functions should be good enough; otherwise, you should use an instance of TextWrapper for efficiency. ''' >>> import textwrap >>> for line in (textwrap.wrap(sample_text, width = 50)): print (line) The textwrap module provides some convenience functions, as well as TextWrapper class that does all the work. If you’re just wrapping or filling one or two text strings, the convenience functions should be good enough; otherwise, you should use an instance of TextWrapper for efficiency.
この例では、width=50を指定することで、各行が50文字以内になるようにテキストが自動的に折り返されていることがわかります。
実行例:fill() で1つの文字列として取得する
>>> textwrap.fill(sample_text, width = 50) ' The textwrap module provides some convenience\nfunctions, as well as TextWrapper class that\ndoes all the work. If you’re just wrapping or\nfilling one or two text strings, the\nconvenience functions should be good enough;\notherwise, you should use an instance of\nTextWrapper for efficiency.'
補足ポイント
width引数を省略した場合のデフォルト値は70文字です。- 同じ設定で何度も折り返し処理を行う場合は、都度関数を呼び出すよりもTextWrapperクラスのインスタンスを作成して使い回す方が効率的です。
wrap()はリスト形式のため行ごとの処理に向いており、fill()はまとめて出力・保存するのに適しています。
-
SeleniumとPythonで要素とテキストを取得する方法
Selenium WebDriverを使えば、Webページ上の要素とそのテキストを簡単に取得できます。手順としては、まずid、クラス名、CSSセレクターなどのロケーターを使って対象の要素を特定し、次にtextプロパティを使って要素内のテキストを取得します。基本構文s = driver.find_element_by_css_selector(h4).textここでdriverはWebDriverオブジェクトです。find_element_by_css_selectorメソッドは、CSSセレクターをロケーターとして要素を特定するために使用され、引数にロケーター値(この場合はh4)を渡します。最後
-
Pythonで学ぶ相関と回帰分析の基礎|Seabornを使ったデータ分析入門
相関(Correlation)とは、2つのデータセット間に存在する依存関係を含む統計的な関係性を指します。一方、線形回帰(Linear Regression)は、従属変数と1つ以上の独立変数の間の関係を直線的なアプローチで捉える手法です。独立変数が1つの場合は「単回帰」、複数ある場合は「重回帰」と呼ばれます。相関とは何か依存現象の身近な例としては、親と子の身体的特徴(外見)の類似性や、商品の価格と供給量の関係などが挙げられます。価格が上がれば供給量が増える、といった具合に、変数同士が互いに影響し合う様子を統計的に表したものが相関です。本記事では、Pythonの可視化ライブラリ「Seaborn」