カテゴリ:Python 投稿:2022年6月10日0:11、更新:2022年6月11日23:25
・記事の概要
openpyxlライブラリでの基本的な操作のメモになります。
業務効率化などで使う場合はExcelの利用シーンも多いと思い、またセル書式系の操作をする場合も割とあるのかなと思ってopenpyxlを利用します。
・前準備
事前ににインストールしておきます。
pip install openpyxl
・ファイル操作メモ
セル操作方法などは記載方がいくつか用意されていたりします。
import openpyxl
.
.
.
#ファイル読み込み
wb = openpyxl.load_workbook("hoge.xlsx")
#path指定の場合
wb = openpyxl.load_workbook("./Files/hoge.xlsx")
#シートの取得(シート名指定)
ws = wb["sheet1"]
#インデックス指定もできる
ws = wb.worksheets[0]
#指定セルの値取得
ws["B2"].value
#指定セルの値取得(行,列指定)
ws.cell(row=2 ,column=2).value
#省略表記も可能
ws.cell(2,2).value
#セルに値を入れる
ws.cell(row=3 ,column=3).value = ws.cell(row=2 ,column=2).value
ws.cell(row=4 ,column=4).value = 100
#ファイル保存(同名なら上書き)
wb.save("hoga.xlsx")
#BファイルからAファイルに複数シートの特定範囲セルをコピーする場合
wb_A = openpyxl.load_workbook("hogeA.xlsx")
wb_B = openpyxl.load_workbook("hogeB.xlsx")
sheet_list=["sheet1","sheet2","sheet3"]
for sheet in sheet_list: #シート分の処理をループ
ws_A=wb_A[sheet]
ws_B=wb_B[sheet]
for i in range(ws_B.max_column): #列の最大値を取ってそれ分のループ
#行列はそれぞれのexcelの配置によって変える
ws_A.cell(row=2 ,column=2+i).value = ws_B.cell(row=2 ,column=3+i).value
ws_A.cell(row=3 ,column=2+i).value = ws_B.cell(row=3 ,column=3+i).value
ws_A.cell(row=4 ,column=2+i).value = ws_B.cell(row=4 ,column=3+i).value
wb_matome.save("hogeA_Bcopy.xlsx")
コメント一覧
コメント投稿ページへ