Quantcast
Channel: プログラミング
Viewing all articles
Browse latest Browse all 8930

pythonでExcelの列番号から列のアルファベットを取得する - polysan_開発メモ

$
0
0

xlwingsを触っていて、列番号から列のアルファベットを取得するメソッドが無く不便だったので関数を作成しました。

環境

python : 3.12.3
windows:19045.5131

コード

全体

defcolumn_number_to_name(number):
    """列番号をExcelのアルファベット形式に変換"""
    result = ""while number > 0:
        number, remainder = divmod(number - 1, 26)
        result = chr(65 + remainder) + result
    return result
# 1 → A# 26 → Z# 27 → AA# 28 → AB

説明

divmod関数を使い、引き数をアルファベットの個数である26で割ります。
商と余りが取得できます。
ASCIIコード表ではアルファベットが65から始まっているので、chr関数を使い、余りを文字に変換します。

www3.nit.ac.jp

商が0以下になるまでループするので、アルファベット2桁でも出力できます。

ex1. 引数:1 → divmod → 商:0、余り:0 → chr(65 + 0):A → A

ex2. 引数:29 → divmod → 商:1、余り:2 → chr(65 + 2):C → 商:1 → divmod → 商:0、余り:0 → chr(65 + 0):A → AC


Viewing all articles
Browse latest Browse all 8930

Latest Images

Trending Articles