see the following chat. This problem has been solved. In summary you can create a function to assign color to specific column entries based on set parameters. It can be included in the table creating function. The challenge would be defining your style function. This is covered in the chat.
My suggestion would be write a function to generate the style of the table like the following
COLORS = [
{
‘text’: ‘#008000’
},
{
‘text’: ‘#040404’
},
{
‘text’: ‘#f41111’
},
]
def t_style(value):
style = {
'color': COLORS[1]['text']
}
return style
def sy_style(value):
if value < = 0:
style = {
'color': COLORS[0]['text']
}
elif value == 0:
style = {
'color': COLORS[1]['text']
}
else:
style = {
'color': COLORS[2]['text']
}
return style
def text_style(valued):
style = {}
valued = float(value)
if value > 0:
style = {
'color': COLORS[0]['text']
}
elif value == 0:
style = {
'color': COLORS[1]['text']
}
elif value < 0:
style = {
'color': COLORS[2]['text']
}
return style
def generate_table(dataframe):
rows = []
for i in range(len(dataframe)):
row = []
for col in dataframe.columns:
value = dataframe.iloc[i][col]
if col== 'A':
style = text_style(value)
row.append(html.Td(value, style=style))
else:
style = t_style(value)
row.append(html.Td(value, style=style))
rows.append(html.Tr(row))
This way you can set an iteration that appends the style to the table entries. Though it might seem inefficient but you will get the color to the text unless I have missed you somewhere. The above code works for numbers. you can edit it for text and all