吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 767|回复: 3
收起左侧

[求助] 大openpyxl竟然没有整列格式化的函数?

[复制链接]
cqwcns 发表于 2021-1-18 22:51
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%'

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| cqwcns 发表于 2021-1-18 22:55
另外,选择列的那一句column_attendance_rate = writer.book['代维系统人员']['U'],我希望类似pandas那样通过直接选择字段名,而不是['U']。
但好像openpyxl也不行,脑阔疼 Plus
fanvalen 发表于 2021-1-18 22:59
cqwcns 发表于 2021-1-18 22:55
另外,选择列的那一句column_attendance_rate = writer.book['代维系统人员']['U'],我希望类似pandas那样 ...

那就先写到pd呗,最后导出csv
Richex 发表于 2021-1-18 23:00
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 08:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表