大openpyxl竟然没有整列格式化的函数?
pandas数据通过openpyxl输出xlsx,想对某列进行百分比格式化,百度搜了半天,又查了官方文档,都没找到整理格式化的函数。百度的方法都是for循环,逐个单元格格式,这么不优雅?
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()
事实上我也尝试过这个方法,但发现同网友的问题一样,有数据的单元格无法正常应用格式化,空单元格则可以,脑阔疼。
writer.book['代维系统人员'].column_dimensions['U'].number_format = '0.00%' 另外,选择列的那一句column_attendance_rate = writer.book['代维系统人员']['U'],我希望类似pandas那样通过直接选择字段名,而不是['U']。
但好像openpyxl也不行,脑阔疼 Plus cqwcns 发表于 2021-1-18 22:55
另外,选择列的那一句column_attendance_rate = writer.book['代维系统人员']['U'],我希望类似pandas那样 ...
那就先写到pd呗,最后导出csv 有没有类似范围选择的,比如 U1:U100
页:
[1]