使用googlesheets api有条件地将背景颜色设置为黄色

时间:2017-02-22 15:42:24

标签: python google-sheets-api pygsheets

enter image description here

我正在使用http://pygsheets.readthedocs.io/en/latest/index.html使用google sheet api v4的包装器。我有兴趣使用google-sheets-api v4设置条件格式。我尝试使用自定义公式根据" Q"的值来突出显示一行。行中的列。如果q列包含' TRASH',我想将行涂成黄色。

我查看https://github.com/nithinmurali/pygsheets/blob/master/pygsheets/client.py中的pygheets库和sh_batch_update方法

此外,我有https://developers.google.com/sheets/api/samples/conditional-formatting#add_a_conditional_formatting_rule_to_a_set_of_ranges基于此我有:

import pygsheets

def cfr1(sheetId):

    # Apply to range: A1:R
    # Format cells if...: Custom formula is
    # (formula:) =$Q1="TRASH"

    return {
          "addConditionalFormatRule": {
            "rule": {
              "ranges": [
                {
                  "sheetId": sheetId,
                  "startColumnIndex": 'A',
                  "endColumnIndex": 'R',
                  "startRowIndex": 1,
                  "endRowIndex": 8
                }
              ],
              "booleanRule": {
                "condition": {
                  "type": "CUSTOM_FORMULA",
                  "values": [
                    {
                      "userEnteredValue": '=$Q1="TRASH"'
                    }
                  ]
                },
                "format": {
                    "backgroundColor": {
                          "yellow": 1.0
                          # "green": 0.0,
                          # "blue": 0.0
                        }


                }
              }
            },
            "index": 0
          }
        }

我跑的时候:

    gc.sh_batch_update(ssheet.id,cfr1(ws.id))

我得到了:

"Invalid JSON payload received. Unknown name "yellow" at 'requests[0].add_conditional_format_rule.rule.boolean_rule.format.background_color': Cannot find field.">

这适用于绿色,红色和蓝色的原色。如何格式化为黄色背景。

1 个答案:

答案 0 :(得分:1)

您不能使用黄色作为颜色,它应采用RGB格式,请参阅this。因此,对于黄色,您需要红色= 1,绿色= 1,蓝色= 0