前提・実現したいこと
ここに質問の内容を詳しく書いてください。
PythonにてExcel操作で、列ごとの最終行に値を入力したいです。
この際の条件として、ws1のJ列が"ON"であることとします。
発生している問題・エラーメッセージ
現状のコードですと、条件に満たない行がNoneとして取得されてしまうため、入力した際に空白ができてしまいます。 取得したものを上詰めで次々に入力したいので、Noneを除外するか、最終行をその都度取得して入力するようにしたいです。
該当のソースコード
Python3.x
1# プログラム1|ライブラリ設定 2import os 3import openpyxl as px 4 5# ブックを取得 6wb = px.load_workbook('test.xlsx') 7ws1 = wb['Sheet1'] 8ws2 = wb['Sheet2'] 9 10 11#ws1のJ列が"ON"のとき、ws1"E+I+F"をws2のB,C列に書き込む 12#以下、上詰めでリストに記入できていない 13 14maxRow = ws1.max_row 15keyword = 'ON' 16 17for i in range(2, maxRow+1): 18 if keyword == ws1['J' + str(i)].value: 19 ws2['B' + str(i)].value = ws1['E' + str(i)].value+'_'+ws1['K' + str(i)].value+'_'+ws1['F' + str(i)].value 20 ws2['C' + str(i)].value = ws1['G' + str(i)].value 21 else: 22 pass 23 24# 保存する 25wb.save('test.xlsx')
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/29 08:30