「python エクセル セルの値 改行まで取得」
という検索でアクセスがありました。
Excelのワークシート上に、セル内改行されたデータがあるとき、Pythonを使って改行の前までを取得するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。
この記事では、Excelを操作するPythonの外部パッケージ「xlwings」を使ったサンプルをご紹介します。
セル内改行までの文字列を取得するサンプル
A1セルに、セル内改行された文字列が存在するブックがアクティブな状態で、拙著『VBAユーザーのためのPython超入門』でも多用しているIDLEのShellウィンドウ等で、以下のコードを実行してみてください。
>>> val = xw.Range('A1').value
>>> val.split('\n')[0]
たとえば、文字列「ABC」「DEF」が、セル内改行を間に含んでA1セルに入力されているときに
上記のコードを実行すると、下図のように「'ABC'」が出力されます。
つづけて、
>>> val.split('\n')[1]
を実行すると、セル内改行の後ろの文字列が下図のように「'DEF'」と出力されます。
str.split()メソッドでセル内改行までの文字列も取得可能
Pythonのstr.split()メソッドを使うと、元の文字列が、引数sepに指定された文字列で区切られ、リストとして取得できます。
このサイト『インストラクターのネタ帳』では、特定の文字以降を削除するコードをご紹介しています。
セル内改行までの文字列を取得する上記のサンプルは、特定の文字以降を削除するコード「str.split()[0]」の、str.split()メソッドの引数に、セル改行のエスケープシーケンス「\n」を指定したものです。
最終更新日時:2023-05-30 16:37
- Newer:Word VBAで両端揃えに
- Older:Excel VBAのxlCenterAcrossSelectionとは
Home » Python » xlwingsの使い方 » xlwingsでセル内改行までの文字列を取得する-str.split()メソッド