这是我的第379篇原创文章。
一、引言
在常规情况下,Pandas 的 DataFrame 保存到文件(比如 CSV 文件)时,无法直接为特定列添加颜色。CSV 文件是纯文本格式,不支持样式。不过,如果你想在 Excel 文件中为特定列添加颜色,你可以使用pandas 的ExcelWriter 和openpyxl 库来完成。下面是一个示例,演示如何将 DataFrame 保存到 Excel 文件中,并为指定列添加颜色:
二、实现过程
2.1 代码:
完整代码如下:
import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import PatternFill
# 创建一个示例 DataFrame
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}
df = pd.DataFrame(data)
# 保存 DataFrame 到 Excel 文件
excel_file = 'output.xlsx'
with pd.ExcelWriter(excel_file, engine='openpyxl') as writer:
df.to_excel(writer, index=False, sheet_name='Sheet1')
# 获取当前工作簿和工作表
workbook = writer.book
worksheet = writer.sheets['Sheet1']
# 定义填充颜色
fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid') # 黄色背景
# 为指定列(例如列 'A',即第1列)添加颜色
for row in range(2, len(df) + 2): # 从第二行开始(第一行是标题)
worksheet[f'A{row}'].fill = fill # 指定添加颜色的单元格
print(f'DataFrame 已保存为 {excel_file},并为指定列添加了颜色。')
在上面的代码中:
我们创建了一个示例 DataFrame,并使用 pd.ExcelWriter将其保存为 Excel 文件。我们使用 openpyxl的 PatternFill来定义填充颜色。最后,我们遍历指定列的行并将颜色应用于这些单元格。你可以根据需要修改列和颜色。确保安装了openpyxl 库,使用以下命令:
pip install openpyxl
2.2 结果
结果如下:
作者简介: 读研期间发表6篇SCI数据算法相关论文,目前在某研究院从事数据算法相关研究工作,结合自身科研实践经历持续分享关于Python、数据分析、特征工程、机器学习、深度学习、人工智能系列基础知识与案例。关注gzh:数据杂坛,获取数据和源码学习更多内容。
原文链接: