首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果单元格包含字符串,则设置函数

如果单元格包含字符串,则设置函数
EN

Stack Overflow用户
提问于 2022-11-21 16:58:26
回答 1查看 35关注 0票数 1

我有一个功能很好的函数,它检查ipy.datagrid的单元格标题,然后根据标头设置单元格的颜色。

代码语言:javascript
复制
def header_bg_color(cell):
    if cell.value in ['Portfolio -30%','Change -30%']:
        return '#f3722c'
    elif cell.value in ['Portfolio -20%','Change -20%']:
        return '#f8961e'
    elif cell.value in ['Portfolio -10%','Change -10%']:
        return '#f9844a'

我已经将'Portfolio -10%‘列的名称更改为'Portfolio -10%’+ igwd_change ...where igwd_change是我前面定义的变量。

我认为简单的改变

代码语言:javascript
复制
elif cell.value in ['Portfolio -10%','Change -10%']:
    return '#f9844a'

代码语言:javascript
复制
elif cell.value in ['Portfolio -10%' + igwd_change,'Change -10%']:
    return '#f9844a'

会起作用的,但我发现了一个错误

Py2VegaNameError:未定义名称'igwd_change‘,可用变量为'cell’、'default_value‘、'index',注意只支持Python的一个子集

但是,定义了igwd_change (这个单元上的单元肯定已经运行),我可以在检查之后调用单元格中的变量。

编辑以显示单元按要求工作(Portfolio-10%),而单元组合为0% (-3.2%),这是Portfolio 0% + igwd_change没有应用所需的vega函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-22 06:40:41

您需要将igwd_change变量作为参数传递到header_bg_color函数中。

代码语言:javascript
复制
def header_bg_color(cell):

应该是

代码语言:javascript
复制
def header_bg_color(cell, igwd_change):

现在调用此函数时,请确保传递相同的变量。

代码语言:javascript
复制
header_bg_color(cell, igwd_change)

代码语言:javascript
复制
header_bg_color(cell, "any custom parameter you want here")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74522406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档