pythonでエクセルを扱う
Pythonでエクセルを扱う方法はいくつかあるが、ここではopenpyxlを使った方法を紹介する。
sample.py
import openpyxl
#新規エクセルファイルの作り方
ここでは、新規エクセルファイルの作り方を紹介する。
sample.py
import openpyxl
wb=openpyxl.Workbook()
ws=wb.active
ws.title="シート名"
wb.save("保存先のpath") #エクセルファイルの保存
#既存エクセルの読み込み
次に既存エクセルの読み込み方を紹介する。
● 読み込むために必要な物
・既存のエクセルファイル
・エクセルファイルまでのPATH
sample.py
import openpyxl
path=r"読み込みたいファイルまでのpath"
wb=openpyxl.load_workbook(path)
ws=wb.get_sheet_by_name("読み込みたいシート名")
#エクセルファイルの保存
新規エクセルファイルを作った場合や、既存のエクセルファイルにプログラム上で変更を加えた場合に、
それを実ファイル上に反映させるためにはプログラム上でエクセルファイルの保存を行わなければならない。
これには**ブック名.save("保存先のpath")**を使う。
sample.py
import openpyxl
path="保存先path"
wb=openpyxl.Workbook()
wb.save(path) #エクセルファイルの保存
#セルの操作
セルの値は**.cell().value**で参照できる。
**cell()**にエクセル上で参照したいデータのx,y座標を記述。( 例: A1→(1,1) )
sample.py
import openpyxl
#列と行には参照したいセルの列番号、行番号を入れる。
sheet.cell(column="列",row="行").value = 5 #値の代入
print(sheet.cell(column="列",row="行").value) #値の確認
#空白セルの扱い
空白セルを参照した時にはその値がNoneとなる。
したがって、以下の判定で空白かどうかを判定することが出来る。
sample.py
import openpyxl
if sheet.cell(column="列",row="行").value == "None":
print("セルは空白です。")
else :
print("セルは空白ではありません。")
#最大列数、最大行数
読み込んだシートの最大列数と最大行数は以下のようにして取得できる。
sample.py
import openpyxl
wb=openpyxl.load_workbook("読み込みたいエクセルのPATH")
sheet=wb.worksheets[0] #読み込んだエクセルの最初のシートを対象とする。
#max_Rに最大行数、max_Cに最初のシートの最大列数を格納する
max_R=sheet.max_row
max_C=sheet.max_column