PythonでExcelの使い方についてです。
この記事の内容はコチラです
- PythonではExcelのセルの番地を指定する
- 「A10」→「row=10,column=1」に変換する
- 「row=10,column=1」→「A10」に変換する
この2種類の記述の方法は変換することができます。例えば、「row=10,column=1」から「A10」を求めたり。
今回は、Excelのセルの記号を変換する方法を解説します。
Excelのセル番地を変換する
構文
import openpyxl # 列番号(A,B,C・・・)を取得 シート変数.cell(row=行,column=列).column # 行番号(1,2,3・・・)を取得 シート変数.cell(row=行,column=列).row # 番地(A1,A2,A3・・・)を変換 シート変数.cell(row=行,column=列).coordinate openpyxl.utils.get_column_letter(列)
PythonでExcel操作をするには、「openPyXl」パッケージが便利です。「openPyXl」を事前にダウンロード・インストールしておく必要があります。
参照:外部パッケージ OpenPyXLをインストールする方法
セルの指定は、「A1」「B1」で指定するパターン、行列を数値で指定するパターンの2種類があります。
行列の数値がわかっていれば、「coordinate」で「A1」「B1」に変換することができます。「openpyxl.utils.get_column_letter」を使って列文字「A」「B」に変換することもできます。
例1. Excelのセル(9,1)からセル番地(A9)を取得する coordinate
import openpyxl # ブックを取得 book = openpyxl.load_workbook('C:\\pg\\人口一覧.xlsx') # シートを取得 sheet = book['sheet1'] # セル番地を取得 sheet.cell(row=9,column=1).coordinate #[結果] 'A9' # セル行を取得 sheet.cell(row=9,column=1).column #[結果] A
この例では、セルの行列の「数値」から「A1」などのセルの「記号」を取得しました。
「coordinate」を使って、「row=9,column=1」から「A9」に変換することができました。
「column」を使えば、列番号「A」だけを取得できました。
例2. Excelのセル(9,1)からセル番地(A9)を取得する get_column_letter
import openpyxl # ブックを取得 book = openpyxl.load_workbook('C:\\pg\\人口一覧.xlsx') # シートを取得 sheet = book['sheet1'] # セル列を取得 openpyxl.utils.get_column_letter(1) #[結果] 'A' # セル番地を取得 openpyxl.utils.get_column_letter(3) + '9' #[結果] 'C9'
「openpyxl.utils.get_column_letter」を使ってセル数値からセル記号を取得することもできます。
例3. Excelのセル番地(C9)からセル(9,3)を取得する column_index_from_string
import openpyxl # ブックを取得 book = openpyxl.load_workbook('C:\\pg\\人口一覧.xlsx') # シートを取得 sheet = book['sheet1'] # セル列を取得 openpyxl.utils.column_index_from_string('C') #[結果] 3
例2と逆に、セル記号から列の数値を取得することもできます。
「column_index_from_string」をつかって、列「C」→列「3」に変換することができました。
これでExcelのセルの数値「9,1」からセルの記号「A9」を変換し、セルの記号「A9」からセルの数値「9,1」へ変換することができました。
以上、PythonでExcelのセルの記号を変換する(1,1→A1)する方法でした。
● Python初心者におすすめ!
Python学習方法に関する記事です。読まないと損するかも。
コメント