Python(openpyxl)で、エクセルにリストを書き込みする方法をご紹介します。
指定列への書き込みや、最終行から書き込みをする方法を記載しています。
ぜひ、お試しください。
Excelにリストを書き込み
以下のコードを実行すると、指定列にリストを書き込みします。
import openpyxl
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']
#配列宣言
My_Product = ['商品名','イチゴ','レモン','サクランボ']
My_Count = ['数量',10,15,20]
#配列ループ
for i in range(0,len(My_Product)):
#A列にリストを書き込み
ws.cell(i+1,1,value = My_Product[i])
#B列にリストを書き込み
ws.cell(i+1,2,value = My_Count[i])
#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testリスト追加.xlsx')
コード実行後
エクセルシートのA列とB列に、リストを書き込みします。
Excelにリストを書き込み(指定列の最終行から書き込み)
以下のコードを実行すると、指定列の最後の行からListを書き込みします。
import openpyxl
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']
#配列宣言
My_Product = ['イチゴ','レモン','サクランボ']
My_Count = [10,15,20]
#最大行
maxRow = ws.max_row + 1
#3列目を指定
j = 3
#行を逆ループ
for i in reversed(range(1,maxRow)):
#セルの値がNoneじゃなかったら、次の行から書き込み開始
if ws.cell(row=i, column=j).value != None:
#配列ループ
for Q in range(0,len(My_Product)):
#リストを書き込み
ws.cell(i+1,j,value = My_Product[Q])
ws.cell(i+1,j+1,value = My_Count[Q])
i = i + 1
break
#別名で保存
wb.save('C:/Users/xxx/Desktop/test/testリスト追加.xlsx')
コード実行後
エクセルシートの特定列の最終行から、リストを書き込みします。
この記事がお役に立ちますと幸いです。
・【Python】エクセルを自動処理する方法まとめ
【Python】エクセル処理を自動化:超便利55選
...
「PythonでExcel、メール、Webを自動化する本」
準備に時間をかけず、すぐ始められます
実践的な例題で、実務で本当に使えるプログラムを紹介
自分の仕事を効率化したい方の大きな武器になるオススメの1冊です!
リンク