看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
当使用 Python 中的 pandas 和 openpyxl 库来处理 Excel 文件时,定制单元格的样式通常是必要的。本文将详细介绍如何利用这两个强大的工具,有效地管理和设计 Excel 表格中的单元格样式。无论是在数据分析、报表生成还是数据导出方面,了解如何控制和美化单元格样式将会为你的工作提供极大的便利。
有一个 team.xlsx
(下载地址见: 《深入浅出Pandas》数据集下载 ) Excel 文件,如何利用 pandas 和 openpyxl 库来便捷处理,将 'B5':'E10'
范围的单元格设置为绿色背景、红色字体、14 号大小。
主要思路是使用 Python 中的 openpyxl 和 pandas 库来操作 Excel 文件,并在指定的单元格范围内应用自定义的样式。
首先,通过 openpyxl 的 load_workbook 方法加载名为 "team.xlsx" 的 Excel 文件,然后选择活动工作表。接着,使用 pandas 的 DataFrame 将工作表中的数据范围加载到 DataFrame 中。
定义一个 modify_style 函数,该函数接受一个单元格对象作为参数,然后为该单元格设置了粗体红色字体和绿色填充的样式。通过 pandas 的 map 方法,对 DataFrame 中的每个单元格应用 modify_style 函数,以修改其样式。
最后,使用 openpyxl 的 save 方法将修改后的工作簿保存为 "team_formatted.xlsx" 文件,并关闭工作簿。
最终代码如下:
from openpyxl import load_workbook
from openpyxl.styles import Font, PatternFill, colors
import pandas as pd
# 加载 Excel 文件
# 文件下载 https://gairuo.com/file/data/team.xlsx
workbook = load_workbook('team.xlsx')
# 选择工作表
sheet = workbook.active
# 选取单元格范围
df = pd.DataFrame(sheet['B5':'E10'])
def modify_style(cell):
# 设置样式
bold_font = Font(size=14, bold=True, color='FF0000')
yellow_fill = PatternFill(start_color='00FF00',
end_color='00FF00',
fill_type='solid')
# 修改样式
cell.font = bold_font
cell.fill = yellow_fill
# 应用修改样式
df.map(modify_style)
# 保存修改后的 Excel 文件
workbook.save('team_formatted.xlsx')
# 关闭 Excel 文件
workbook.close()
代码解释:
以上是如何结合使用 openpyxl 和 pandas,以及如何利用它们的功能来操作和样式化 Excel 文件中的数据。
这样就完成了需求。
(完)
更新时间:2024-08-18 16:22:58 标签:python openpyxl excel 样式