- インストール
- 新しいエクセルワークブックを作る
- 既存のワークブックを開く
- シートを開く
- 使いそうなやつ一覧
- 参考1
インストール
pip install openpyxl
いつもの。
新しいエクセルワークブックを作る
import openpyxl #新規作成 ewb = openpyxl.Workbook() #保存 ewb.save("Atarashii.xlsx")
既存のワークブックを開く
#読み込み ewb = openpyxl.load_workbook('test.xlsx')
なお、ここで開いているのはワークブック
まあもし記憶喪失になって調べたらワークブックとシートとセルと……って違いを書いておくれ。
シートを開く
2種類の開き方があるらしい。
sheet = ewb.active
↑(エクセルを保存した時点で)アクティブなシートを選択
sheet = ewb[ここにシートの名前文字列を入れる]
使いそうなやつ一覧
一応、気を付けているけど、間違ってたら直します
シート名:str
ewb:openpyxl.workbook.workbook.Workbook形式のオブジェクト?
sheet:openpyxl.worksheet.worksheet.Worksheet形式のオブジェクト?
ewb = openpyxl.Workbook()
ワークブック(openpyxl.workbook.workbook.Workbook)の新規作成。
ewb = openpyxl.load_workbook(filename)
filenameのExcelファイルの読み込み。(openpyxl.workbook.workbook.Workbook)
ワークブック(ewb)(type = openpyxl.workbook.workbook.Workbook)
for sheet in ewb:のようにfor文を回すとシートを順番に取得できるらしい。
ewb[シート名]
シート名で指定したシート。
指定したシートがない場合、
KeyError: 'Worksheet Sheet does not exist.'
になる
ewb.active
アクティブなシート(openpyxl.worksheet.worksheet.Worksheet)を返す
ewb.copy_worksheet(ewb[シート名])
ewb.create_sheet(シート名)
新しいシートをシート名で作成。同時にそのシート(openpyxl.worksheet.worksheet.Worksheet)を返す
ewb.index(sheet)
そのシートがワークブックの何番目のシートか返す
ewb.move_sheet(シート名, offset=n)
シートを右にn個移動
ewb.save(ファイル名)
ファイル名でワークブックを保存する
ewb.title
シートの名前を返す。ここに文字列を代入することでシート名を変えられる。
ワークシート(sheet)(type = openpyxl.worksheet.worksheet.Worksheet)
sheet.Worksheet[セル番号]
セル番号*1を指定する。同時にそのセル(openpyxl.cell.cell.Cell)を返す
セル(cell)(type = openpyxl.cell.cell.Cell)
cell = 文字列
そのセルに文字列を入れる
ewb = openpyxl.load_workbook('test.xlsx') sheet = ewb["シート1"] sheet['A1'] = 'Hello World'
こんな風にすると、シート1のセルA1にハローワールドできる。もっとも、これだけでは保存してないが。
cell.value
そのセルの値を返す
参考1
https://openpyxl.readthedocs.io/en/stable/
https://create-it-myself.com/know-how/howto-copy-sheet/
https://atmarkit.itmedia.co.jp/ait/articles/2202/08/news031.html
↑会員登録してなかったから全部読めなかったけどまあいいや。
https://ameblo.jp/altair265/entry-12602129052.html
https://qiita.com/rihu-do/items/1010bcdf58f383a7ad6e
*1:"A1"みたいなやつ