openpyxl セルに値を入れる
A1セルに1を入れる
import openpyxl wb = openpyxl.Workbook() ws = wb.active ws['A1'] = 1 wb.save('test.xlsx')
2行1列(A2)セルに2を入れる
import openpyxl wb = openpyxl.Workbook() ws = wb.active ws.cell(2, 1).value = 2 wb.save('test.xlsx')
セルの範囲指定
範囲指定したものはイテレートすると行を取り出せる。
その後、行をイテレートするとセルを取り出せる。
import openpyxl wb = openpyxl.Workbook() ws = wb.active cell_range = ws['A1':'C2'] print(cell_range) for row in cell_range: print(row) for cell in row: print(cell) wb.save('test.xlsx')
# cell_rangeは、行を表すもののタプル、のタプル ((<Cell 'Sheet'.A1>, <Cell 'Sheet'.B1>, <Cell 'Sheet'.C1>), (<Cell 'Sheet'.A2>, <Cell 'Sheet'.B2>, <Cell 'Sheet'.C2>)) # rowは、セルを表すもののタプル (<Cell 'Sheet'.A1>, <Cell 'Sheet'.B1>, <Cell 'Sheet'.C1>) <Cell 'Sheet'.A1> <Cell 'Sheet'.B1> <Cell 'Sheet'.C1> (<Cell 'Sheet'.A2>, <Cell 'Sheet'.B2>, <Cell 'Sheet'.C2>) <Cell 'Sheet'.A2> <Cell 'Sheet'.B2> <Cell 'Sheet'.C2>
import openpyxl wb = openpyxl.Workbook() ws = wb.active cell_range = ws['A1':'C2'] print(cell_range[0][0]) print(type(cell_range[0][0])) print(ws.cell(1, 1)) print(type(ws.cell(1, 1))) wb.save('test.xlsx')
<Cell 'Sheet'.A1> <class 'openpyxl.cell.cell.Cell'> <Cell 'Sheet'.A1> <class 'openpyxl.cell.cell.Cell'>