【関数・メソッド・プロパティ設定をつかう】

3 文字列の指定位置から指定文字分の文字列を取得

4 三つのブラケットスライス書式をつかう

5 文字列の指定位置から1文字を取得

6 文字列の文字数を取得

7 文字列のループで1文字ずつ分解

8 文字が入っているセルの最大行を取得

9 文字が入っているセルの最大列を取得

文字列の文字数を取得

 Pythonには、対象となる文字列式の文字数を一瞬で数えてくれる便利な関数があります。

 それが、len関数です。

Img7_2_11

 len関数では、引数:Stringに対象となる文字列を入れると、

 戻り値として、対象となる文字列の文字数を受け取ることができます。


 予め、次のようなExcelシート『sheet1』を用意して、

 Excelブック名を『WkBook2.xlsx』として保存します。

Img7_2_12

 この『WkBook2.xlsx』の『sheet1』を読みこみます。

 xlwingsをつかいPythonで既存Excelを読みこみ操作するときは、

 Workbookファイルをメモリ上に読みこむと同時にWorkbookオブジェクトを生成、

 ( 『xlwingsをつかい既存Workbookを読みこみファイル保存』参照 )

 更に、sheetオブジェクトを生成して、そのsheetを操作します。

 Workbookオブジェクト名を『wb』、sheetオブジェクト名を『st』とします。

 ソースコードパネルに

import xlwings

wb = xlwings.Book('WkBook2.xlsx')

st = wb.sheets['sheet1']

 と記述しておきます。


 len関数をつかってみます。

 引数としてセルA2から取得した文字列を渡してから、

 文字数を受け取り、セルC2に格納します。

 左辺には、st.range('C2').value

 右辺には、len関数

       引数:Stringにst.range('A2').value

 を当てはめれば良いのだから、

 st.range('C2').value = len(st.range('A2').value)

 と記述します。

 【ソースコードパネル】

import xlwings

wb = xlwings.Book('WkBook2.xlsx')

st = wb.sheets['sheet1']

st.range('C2').value = len(st.range('A2').value)

 それでは、そのPythonプログラムを実行してみます。


Img7_2_13

 『セルを思いのままに動かそう』の文字数が、セルC2に『13』と書きこまれました。



 試しに、対象文字列:セルA2の値を適当な文字に書きかえて、Pythonプログラムを実行して、

 対象文字列の文字数がlen関数で取得できることを確かめてみてください。