前提・実現したいこと
Openpyxlを使って、添付図のR列の表示形式を数値(桁区切りあり)に変更したいと思っています。
初めはR列の表示形式が「General」になっていたので、cell.number_format = '#,##0'で数値形式に変更を試みたところ、表示形式が「通貨」に変更され、'$'の表示は消えませんでした。
そこで、for文を最大行数分回し、セルに'$'が含まれている場合は'$'を除くようにしたのですが、for文がずっと実行中のまま固まってしまいました。
どうすればやりたいことを実現できるか、ご教示いただけないでしょうか。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
Python
1import openpyxl 2from openpyxl.styles.borders import Border, Side 3from openpyxl.styles import PatternFill 4from openpyxl.styles import numbers 5 6wb = openpyxl.load_workbook('Report.xlsx') 7ws = wb['Sheet1'] 8 9for number in range(1, ws.max_row+1): 10 while not ws.cell(row=number, column=18).value is None: 11 if '$' in ws.cell(row=number, column=18).value: 12 ws.cell(row=number, column=18).value = ws.cell(row=number, column=18).value.split('$')[1] 13 print(ws.cell(row=number, column=18).value) 14 15wb.save('Report.xlsx')
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/27 11:09