前提・実現したいこと
openpyxlを使って、特定の行に対して罫線を引きたいと考えています(図の赤線の部分が罫線を引きたい範囲です)。
行を指定し、指定した行のセルに対してfor文で最大列まで罫線を引こうとしましたが、for i in range(1, len(ws.max_column)+1)としたところTypeerrorが発生してしまいました。
発生している問題・エラーメッセージ
TypeError Traceback (most recent call last) <ipython-input-68-c714fe8bcca1> in <module> 30 ws.cell(row=len(df_new)+5, column=1).value = '<WON>' 31 ws.cell(row=len(df_new)+5, column=1).font = font_title ---> 32 for i in range(1, len(ws.max_column)+1): 33 ws.cell(row=len(df_new)+6, columnns=i).border = border 34 TypeError: object of type 'int' has no len()
該当のソースコード
Python
1import openpyxl 2from openpyxl.styles.borders import Border, Side 3 4wb = openpyxl.load_workbook('df_all.xlsx') 5ws = wb['Sheet1'] 6 7side = Side(style='thin') 8border = Border(top=side, bottom=side, left=side, right=side) 9font_title = Font(name='メイリオ', size=20) 10 11 12ws['A1'].font = font_title 13 14ws['A2'] = '<NEW>' 15ws['A2'].font = font_title 16 17ws.cell(row=len(df_new)+5, column=1).value = '<WON>' 18ws.cell(row=len(df_new)+5, column=1).font = font_title 19for i in range(1, len(ws.max_column)+1): # ここがうまくいきません 20 ws.cell(row=len(df_new)+6, columnns=i).border = border 21 22wb.save('df_all.xlsx)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/22 05:08