gpt4 book ai didi

python - 当使用 python 使用下拉菜单时,如何更改 Excel 中整个行的颜色

转载 作者:行者123 更新时间:2023-12-01 06:26:37 24 4
gpt4 key购买 nike

当下拉菜单具有两个值 High 和 Low 时,如何使用 Python 和 XlsxWriter data_validation() 更改整个单元格的背景?

如果使用下拉菜单选择“高”,则整行必须为绿色。如果使用下拉菜单选择“低”,则整行必须为红色。

我在代码中使用了以下几行,或者我尝试过这样的

workbook = xlsxwriter.Workbook('Reports_Sample.xlsx') ## 工作表标题

sheet1 = workbook.add_worksheet("Report1")     ## Sheet 1

heading=["A","B","C","D"]

## Now i am adding drop down as High and Low to the column D

sheet1.data_validation('D2:D7', {'validate': 'list',
'source': ['High', 'Low']})

如果单击“高”,该行应为绿色。如果单击“低”,该行应为红色。

我无法为其添加背景颜色。

最佳答案

99% 可以使用 Excel 手动完成的工作,您都可以使用 xlsxwriter(一个功能强大的库)将其自动化。

话虽如此,这就是我要做的:

import pandas as pd
import numpy as np

# Create a test df
df = pd.DataFrame({'A': [1,2,3,4],
'B': ['a','b','c','d'],
'C': [2.2,np.nan,8.1,9.0],
'D': [np.nan,np.nan,np.nan,np.nan]})

# Kickstart the xlsxwriter
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)
workbook = writer.book
worksheet = writer.sheets['Sheet1']

# Define the formats
format_green = workbook.add_format({'bg_color': 'green'})
format_red = workbook.add_format({'bg_color': 'red'})

# Apply the data validation rule
worksheet.data_validation('D2:D5', {'validate': 'list',
'source': ['High','Low']})

# Apply the conditional formating rules
worksheet.conditional_format('A2:D5', {'type': 'formula',
'criteria': '=$D2="High"',
'format': format_green})

worksheet.conditional_format('A2:D5', {'type': 'formula',
'criteria': '=$D2="Low"',
'format': format_red})

writer.save()

输出:

enter image description here

关于python - 当使用 python 使用下拉菜单时,如何更改 Excel 中整个行的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60113026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com