7
10

More than 3 years have passed since last update.

【Python】エクセル基本操作(読み込み、値書き込み、保存、最大列数、最大行数)

Posted at

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
7
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
10