如何更改工作表选项卡的颜色

2024-01-23

我有一个 python 脚本,它从外部资源中提取数据并将数据添加到 Google 表格中。在大多数情况下,我一切正常,除了我想更改选项卡的颜色以表示脚本状态。

整个过程首先复制工作表中的现有选项卡。默认情况下,模板选项卡具有黑色突出显示。然后我想将黑色更改为另一种颜色以显示数据收集正在进行中。完成后,根据数据结果将颜色更改为绿色或红色。

但是我找不到如何更改颜色的工作示例。这是我到目前为止所拥有的:

    title = 'Duplicate'
    template_id = 1000

    sheet = open_worksheet() # does all the auth/credential work
    sheet.duplicate_sheet(template_id, insert_sheet_index=0, new_sheet_name=title)
    new_tab = sheet.worksheet(title)

    body = {
        "requests": [
            {
                "updateSheetProperties": {
                    "properties": {
                        "sheetId": 1001,
                        "title": title,
                        "tabColor": {
                            "red": 1.0,
                            "green": 0.3,
                            "blue": 0.4
                        }
                    },
                    "fields": "*"
                }
            }
        ]
    }

    try:
        res = sheet.batch_update(body)
        # res = new_tab.batch_update(body)
        pprint(res)
    except gspread.exceptions.APIError as gea:
        pprint(gea.args[0], width=100)

如果我尝试运行batch_update()反对这new_tab我得到的指针:

dict(vr, range=absolute_range_name(self.title, vr['range']))
TypeError: string indices must be integers

如果我对整体运行它sheet I get:

{'code': 400,
 'message': "Invalid requests[0].updateSheetProperties: You can't delete all the rows on the sheet.",
 'status': 'INVALID_ARGUMENT'}

如何修复我的请求,以便它正确更新单个选项卡?

这是一个链接谷歌表格API https://developers.google.com/sheets/api/guides/batchupdate and 板材特性 https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/sheets#SheetProperties我一直在查找请求的外观。


我相信你的目标如下。

  • 您想要使用 gspread 更改 Google 电子表格的选项卡颜色。
  • 您想使用插入新工作表sheet.duplicate_sheet(template_id, insert_sheet_index=0, new_sheet_name=title)并想要更改新工作表的选项卡颜色。

修改要点:

  • 在这种情况下,可以使用以下命令检索工作表 IDnew_tab.id。您可以将此值用于请求正文。
  • In your situation, I think that tabColor instead of * can be used as the value of fields.
    • 我认为这可能是您问题的原因。因为当*被使用,除了tabColor也被改变。

当以上几点反映到您的脚本中时,它会变成如下所示。

修改后的脚本:

请修改body如下并再次测试。

body = {
    "requests": [
        {
            "updateSheetProperties": {
                "properties": {
                    "sheetId": new_tab.id,
                    # "title": title, # In this case, I think that this might not be required to be used.
                    "tabColor": {
                        "red": 1.0,
                        "green": 0.3,
                        "blue": 0.4
                    }
                },
                "fields": "tabColor"
            }
        }
    ]
}

参考:

  • 批量更新(正文) https://gspread.readthedocs.io/en/latest/api.html?highlight=batchupdate#gspread.models.Spreadsheet.batch_update
  • 方法:spreadsheets.batchUpdate https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
  • 更新表属性请求 https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#updatesheetpropertiesrequest
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改工作表选项卡的颜色 的相关文章

  • 使用 pythonbrew 编译 Python 3.2 和 2.7 时出现问题

    我正在尝试使用构建多个版本的 python蟒蛇酿造 http pypi python org pypi pythonbrew 0 7 3 但我遇到了一些测试失败 这是在运行的虚拟机上 Ubuntu 8 04 32 位 当我使用时会发生这种情
  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • 在 python 程序中合并第三方库的最佳实践是什么?

    下午好 我正在为我的工作编写一个中小型Python程序 该任务需要我使用 Excel 库xlwt and xlrd 以及一个用于查询 Oracle 数据库的库 称为CX Oracle 我正在通过版本控制系统 即CVS 开发该项目 我想知道围
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 如何使用Conda下载python包并随后离线安装?

    我知道通过 pip 我可以使用以下命令下载 Python 包 但 pip install 破坏了我的内部包依赖关系 当我做 pip download
  • PyUSB 1.0:NotImplementedError:此平台不支持或未实现操作

    我刚刚开始使用 pyusb 基本上我正在玩示例代码here https github com walac pyusb blob master docs tutorial rst 我使用的是 Windows 7 64 位 并从以下地址下载 z
  • Spark KMeans 无法处理大数据吗?

    KMeans 有几个参数training http spark apache org docs latest api python pyspark mllib html highlight kmeans pyspark mllib clus
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某

随机推荐

  • MaterialComponents.TextInputLayout.OutlinedBox 它无法正常工作 boxBackgroundColor

    我用的是材料 我将使用 TextInputLayout 的颜色作为背景 但类似于下面的颜色 提示背景未更改 我使用了样式并想进行更改 但没有成功 在布局本身中 我尝试再次应用更改 如何解决这个问题 NOTE 的背景标签用户名图片中没有透明的
  • 访问故事板内的视图

    如何在代码中访问从对象浏览器拖到情节提要中的另一个视图中的视图 例如 我创建了一个 UIView 并将其分配给 ViewController 类 然后我将地图视图拖到该视图中 现在我需要开始在代码中操作该地图视图 我如何访问它 我尝试过 s
  • UWP 模板 10 和服务依赖注入 (MVVM),而非 WPF

    我花了两个多星期的时间搜索 google bing stackoverflow 和 msdn 文档 试图找出如何为我正在开发的移动应用程序进行正确的依赖项注入 需要明确的是 我每天都在网络应用程序中进行 DI 我不需要关于什么 谁以及为什么
  • 使用安全模式=“TransportWithMessageCredential”测试WCF服务wsHttpBinding

    我尝试使用soapUI进行测试 但是在启用安全性时它不支持wsHttpBinding 使用 wsHttpBinding 时 soapUI 确实可以工作 但安全性为零 我们还尝试了 WCF Storm 它确实有效 我们可以加载我们的客户端配置
  • 跨节点项目共享通用打字稿代码

    假设我有以下项目结构 webapps ProjectA SomeClass ts 包 json ProjectB SomeClass ts 包 json Common LoggingClass ts 包 json 公共 LoggingCla
  • 如何在 Visual Studio (2010) 中突出显示 C(而不是 C++)语法?

    我正在和朋友一起用 C 语言做一些小练习 出于习惯 我一直使用较新语言的关键字 例如 bool new 我花了一段时间才意识到这是问题所在 因为 VS 不断将它们突出显示为关键字 即使它们不在 C 中 我确保所有文件都是 c 并将项目属性设
  • C# 中的队列和等待句柄

    我的应用程序中使用以下代码已有多年 但从未发现其中出现问题 while PendingOrders Count gt 0 WaitHandle WaitAny CommandEventArr 1 lock PendingOrders if
  • jquery .click 被多次调用

    我在 jQuery 尝试设置 div 的 click 方法时得到了意想不到的结果 请参见这个jsfiddle http jsfiddle net fkMf9 请务必打开控制台窗口 单击该单词几次并观察控制台输出 click 函数在只应调用一
  • PHP 计数函数与关联数组

    有人可以向我解释一下 count 函数如何处理如下所示的数组吗 我的想法是下面的代码输出 4 因为那里有 4 个元素 a array 1 gt A 1 gt B C 2 gt D echo count a count完全按照您的预期工作 例
  • Android:在 Android Place Api 中提供自动自动建议吗?

    我对 Android Google 地图非常陌生 我编写了以下程序 用于在 Android 中显示自动建议 当我在 自动完成 文本框中键入文本时 它将输入到 url 但输出未显示在程序中 请看一次并让我知道我在哪里犯了错误 ExampleA
  • Matlab非线性灰盒系统辨识

    我正在尝试进行非线性灰盒模型识别 并且我正在使用以下代码 我对输入向量 输出向量和时间戳中的输入进行了测量 input output data 2 3 output output data 4 5 time output data 1 da
  • Clojure 中是否有替代 nil 双关语的惯用方法?

    我目前正在阅读一些 Clojure 代码 其中有一堆未初始化的值 nil用于传递记录中的数值 现在有很多 Clo jure 库将其视为惯用语 https stackoverflow com questions 6045404 why clo
  • SQL Server 2008 Express 无法用于合并复制?

    根据 Microsoft 的说法 SQL Server 2008 Express 应该能够作为拉取订阅者参与合并复制 至少对于 RMO 对象来说是这样 http msdn microsoft com en us library ms1478
  • 错误 800A01A8 需要对象

    我有一个 VBScript 代码 它给我一个错误 提示 需要对象 错误 800A01A8 位于第 11 行和第 3 个字符 这是代码 Dim strWebsite strWebsite 78 72 111 138 80 If PingSit
  • EF CTP4:“创建模型时无法使用上下文。”

    我有两个实体 学生和班级 他们之间有多对多的关系 class Student ICollection
  • 通过中断中间单词强制 Jasper HTML 报告换行

    我在 Jaspersoft Studio 中创建了一个 Jasper 报告 用于生成 HTML 报告 它的宽度为 550px 其中一个数据字段包含 URL 其中一些可能非常长 例如 我遇到的问题是生成的报告不会破坏 URL 中间单词 即查询
  • “dyn”在类型中意味着什么?

    我最近看到代码使用dyn关键词 fn foo arg dyn Display fn bar gt Box
  • Python 中使用哪种正则表达式风格?

    我想知道 Python 使用哪种 RegEx 风格 它是 PCRE Perl 兼容的还是 ICU 或其他什么 是兼容的enoughw Perl 这意味着大多数 Perl 表达式无需修改即可工作 它的目标是与 Perl 兼容 但当然 也有一些
  • 内联 Bootstrap 表单布局,标签位于输入上方

    我想使用 Bootstrap 3 创建具有以下布局的表单 我在这里尝试了一个jsfiddle http jsfiddle net quyB6 http jsfiddle net quyB6 我尝试过的标记
  • 如何更改工作表选项卡的颜色

    我有一个 python 脚本 它从外部资源中提取数据并将数据添加到 Google 表格中 在大多数情况下 我一切正常 除了我想更改选项卡的颜色以表示脚本状态 整个过程首先复制工作表中的现有选项卡 默认情况下 模板选项卡具有黑色突出显示 然后