使用 python 使用下拉列表时,如何更改 excel 中整行的颜色
How to change the color of the entire Row in excel , when a drop down is used using python
如何使用 Python 和 XlsxWriter data_validation()
在下拉菜单具有高低两个值时更改整个单元格的背景?
如果使用下拉菜单选择高,则整行必须为绿色。如果使用下拉菜单选择低,则整行必须为红色。
我在我的代码中使用了以下几行或者我已经尝试过这样
workbook = xlsxwriter.Workbook('Reports_Sample.xlsx') ## sheet
的标题
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()
输出:
如何使用 Python 和 XlsxWriter data_validation()
在下拉菜单具有高低两个值时更改整个单元格的背景?
如果使用下拉菜单选择高,则整行必须为绿色。如果使用下拉菜单选择低,则整行必须为红色。
我在我的代码中使用了以下几行或者我已经尝试过这样
workbook = xlsxwriter.Workbook('Reports_Sample.xlsx') ## sheet
的标题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()
输出: