使用 python/pandas 在 excel 上创建颜色渐变的最简单方法?

Posted

技术标签:

【中文标题】使用 python/pandas 在 excel 上创建颜色渐变的最简单方法?【英文标题】:Easiest way to create a color gradient on excel using python/pandas? 【发布时间】:2014-12-03 14:46:03 【问题描述】:

所以我有使用 pandas 的 ExcelWriter 输出到 excel 文件的数据。将整个数据输出到 Excel 文件后,使用 Python 以编程方式对其应用条件格式的最简单方法是什么?

我希望能够(通过 Python)在 Excel 工作表中选择(在 Excel 中)所有填充的单元格,然后单击“条件格式”>“色阶”。最终结果是基于值的颜色渐变,如果您愿意,可以使用“热图”。

这就是我正在做的生成数据:

writer = ExcelWriter('Data' + today +'.xls')
... processing data ... 
df.to_excel(writer, sheet_name = 'Models', startrow = start_row, index=False)

数据写入后,我需要一种使用 python 应用条件格式的方法。为简单起见,我希望颜色越深的蓝色阴影,值越正(> 0),并且颜色越深的红色阴影,值越负(

我尝试查看 xlsxwriter(希望能够在创建 Excel 文件后对其进行修改),但在文档中它说“它 [XLSXwriter] 无法读取或修改现有的 Excel XLSX 文件。”

如果您能想到解决方案或指出正确的方向,请告诉我。

【问题讨论】:

【参考方案1】:

以下是如何将条件格式应用于 Pandas 创建的 XlsxWriter Excel 文件的示例:

import pandas as pd

# Some sample data to plot.
list_data = [30, 40, 50, 40, 20, 10, 5]

# Create a Pandas dataframe from the data.
df = pd.DataFrame(list_data)

# Create a Pandas Excel writer using XlsxWriter as the engine.
excel_file = 'testfile.xlsx'
sheet_name = 'Sheet1'

writer = pd.ExcelWriter(excel_file, engine='xlsxwriter')
df.to_excel(writer, sheet_name=sheet_name)

# Access the XlsxWriter workbook and worksheet objects from the dataframe.
# This is equivalent to the following using XlsxWriter on its own:
#
#    workbook = xlsxwriter.Workbook('filename.xlsx')
#    worksheet = workbook.add_worksheet()
#
workbook = writer.book
worksheet = writer.sheets[sheet_name]

# Apply a conditional format to the cell range.
worksheet.conditional_format('B2:B8', 'type': '3_color_scale')

# Close the Pandas Excel writer and output the Excel file.
writer.save()

输出如下:

请参阅Conditional Formatting 上的 XlsxWriter 文档,了解如何更改颜色或其他属性。

另见Working with Python Pandas and XlsxWriter。

【讨论】:

感谢先生/女士的服务。 如何指定我想要的颜色? @jenny。设置颜色和其他属性在上面链接的文档中进行了说明。 我的错,我找到了。我想到了。谢谢。

以上是关于使用 python/pandas 在 excel 上创建颜色渐变的最简单方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 pandas/python 中查看 excel 电子表格的公式?

使用 python pandas 操作 excel

使用 Python/Pandas 将多索引数据写入 excel 文件

使用 python、pandas 合并 2 个基于 3 个条件的单独 excel 文件

使用 python pandas 读取 json 文件并更新现有的 excel

使用 python/pandas 从特定文件夹中读取几个嵌套的 .json 文件到 excel 中