pandas数据通过openpyxl输出xlsx,想对某列进行百分比格式化,百度搜了半天,又查了官方文档,都没找到整理格式化的函数。
百度的方法都是for循环,逐个单元格格式,这么不优雅?
[Python] 纯文本查看 复制代码 print("[操作] 输出EXCEL文件")
writer = pd.ExcelWriter(xlsx_notification, engine='openpyxl')
writer.book = bookResult
df_personnel.to_excel(writer, sheet_name='代维系统人员', index=False)
df_sign_in.to_excel(writer, sheet_name='签到系统记录', index=False)
df_sign_in_drop_duplicates.to_excel(writer, sheet_name='签到去重记录', index=False)
# 签到率列(U列)百分比格式化
column_attendance_rate = writer.book['代维系统人员']['U']
for cell in column_attendance_rate:
cell.number_format = '0.00%'
writer.save()
writer.close()
事实上我也尝试过这个方法,但发现同网友的问题一样,有数据的单元格无法正常应用格式化,空单元格则可以,脑阔疼。
[Python] 纯文本查看 复制代码 writer.book['代维系统人员'].column_dimensions['U'].number_format = '0.00%' |