首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 自动化指南(繁琐工作自动化)第二版:十四、使用谷歌表格

您需要登录您的 Google 帐户才能查看此页面。点击侧边栏上的证书链接。然后点击你不小心共享的证书文件旁边的垃圾桶图标,如图图 14-3 所示。...您还可以通过单击前面提到的“启用谷歌表格API”按钮来生成一个新的证书文件。 电子表格对象 在谷歌表格中,电子表格可以包含多个表格(也称为工作表),每个表格包含列和行的值。...唯一的区别是,与 Python 的基于 0 的列表索引不同,谷歌表格有基于 1 的列和行:第一列或第一行位于索引 1,而不是 0。...图 14-7:添加了表格“垃圾邮件”、“鸡蛋”和“培根”后的“多张”电子表格 Sheet对象的delete()方法将从电子表格中删除工作表。...在表单的“响应”选项卡上,单击绿色的创建电子表格按钮来创建一个谷歌表格电子表格,它将保存用户提交的响应。您应该会在该电子表格的第一行看到您的示例回答。

8.6K50

Excel宏教程 (宏的介绍与基本使用)

需要注意的是:在使用过程中excel会自动重排工作表索引号,保持按照其在工作表标签中的从左至右排列,工作表的索引号递增。因此,由于可能进行的工作表添加或删除,工作表索引号不一定始终保持不变。...Columns(“A:D”).Delete Shift:=xlToLeft ‘删除A列至D列,其右侧列左移 Rows(“3:5”).Delete Shift:=xlUp ‘删除第3行至第5行,其下方行上移...Sheets.Add before:=Sheets(1) ‘在第1工作表前添加新工作表 Sheets.Add after:=Sheets(Sheets.Count) ‘在最后工作表后添加新工作表...ActiveSheet.Delete 但在删除前excel会自动弹出提示框,需在用户确认后方可执行删除。为避免这一干扰,可以先用以下语句关闭excel的警告提示。...而若此存盘文件已存在,也可用关闭excel警告提示的方法以免其自动弹出提示框。

6.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    多个供应商使数据和分析无处不在

    TigerGraph 还在共享可视化图仪表板上添加协作编辑和查看功能,该公司正在增强其图数据科学包,通过 NodePiece 提供更好的图嵌入,并通过 pyTigerGraph 添加对自己的打包算法的支持...Alation 还和我分享了 Google Sheets 上的 Connected Sheets 的演示,确实令人印象深刻。...最后,Teams 和 Excel 并不是唯一获得第三方分析集成的 Microsoft 工具,Alation 也不是唯一这样做的公司。事实证明,Databricks 也参与其中。...这一切都发生在云端,每个人都可以使用他们最喜欢的工具进行分析,即使它们是 Slack 或 Teams 等协作平台,Excel 或 Google Sheets 等电子表格,或者 VS Code 等开发人员工具...这似乎是一个悖论,但实际上非常合乎逻辑:最有效的基础架构以不引人注意的方式运行,以至于您甚至都不知道它在那里,让您无需绕行或提前计划即可使用它。

    11810

    深入剖析MySQL数据库约束:原理、应用与实践

    当用户注册成功时,即使注册程序没有显式地记录注册时间,数据库也会自动将当前时间作为registration_time的值插入表中。...这意味着当插入新的成绩记录时,即使没有显式指定创建时间,系统也会自动记录当前时间作为创建时间,保证了每条成绩记录都有准确的创建时间信息,方便后续的数据分析和管理。...在创建与管理方面,详细介绍了通过 SQL 语句创建和管理各种约束的方法。包括在创建表时直接定义约束,以及在已有表上添加、修改和删除约束的具体操作步骤和语法。...还强调了在操作过程中需要注意的事项,如添加主键约束时需确保列值的唯一性和非空性,删除约束时需谨慎操作,避免影响数据的完整性和一致性。...研究如何将 MySQL 约束应用于区块链的数据管理中,确保区块链上的数据在保持其特性的同时,满足一定的约束条件,提高区块链数据的规范性和可靠性。

    12310

    【Protobuf协议】001-Protobuf概述、定义Message类型

    开发者可以通过Protobuf附带的工具生成代码并实现将结构化数据序列化的功能; 官方文档:https://developers.google.com/protocol-buffers/docs/proto3...在此基础上,用户就可以根据需要自己来定义新的描述方案和描述符。常见的数据描述语言有:SGML、HTML、XML等; 4、结构化数据 如字面含义,就是带有一定结构的数据。...// 年龄 } 2、指定字段类型 上面的例子中,我们指定了两个int32类型和一个string类型,这些都是标准类型,也可以指定枚举类型和其他Message类型; 3、分配字段编号 上面我们定义字段的时候都使他们等于唯一的一个数字...message Foo { reserved 2, 15, 9 to 11; reserved "foo", "bar"; } 如果您通过完全删除字段或将其注释掉来更新消息类型,那么未来的用户在对该类型进行自己的更新时可以重用这些字段号...确保这种情况不会发生的一种方法是指定保留已删除字段的字段编号(或名称,这也可能导致 JSON 序列化问题)。此后,如果任何未来的用户试图使用这些字段标识符,协议缓冲区编译器将发出警示。

    13810

    用 Python 帮运营妹纸快速搞定 Excel 文档

    您将了解以下内容: Python 读写 Excel 的第三方库 从工作簿中获取工作表 读取单元格数据 遍历行和列 写入 Excel 电子表格 添加和删除工作表 添加和删除行和列 大多数公司和大学都使用...接下来,让我们看一下如何在工作簿中添加和删除工作表! 添加和删除工作表 许多人喜欢在工作簿中的多个工作表中处理数据。...添加、删除行和列 OpenPyXL 具有几种的方法,可用于在电子表格中添加、删除行和列。...列的索引从1开始,而工作表的索引从0开始。这有效地将A列中的所有单元格移到B列。然后从第2行开始插入两个新行。 现在您知道了如何插入列和行,是时候来了解如何删除它们了。...在本文中,您掌握了以下内容: Python 处理 Excel 的第三方软件包 从工作簿中获取工作表 读取单元格数据 遍历行和列 写入 Excel 电子表格 添加和删除工作表 添加、删除行和列 OpenPyXL

    4.5K20

    使用WeeChat进行Internet中继聊天

    开始之前 熟悉我们的入门指南并完成设置Linode主机名和时区的步骤。 本指南将sudo尽可能使用。完成“ 保护您的服务器 ”部分以创建标准用户帐户,加强SSH访问并删除不必要的网络服务。...也可以按照本节创建防火墙,但省略端口80和443的行,因为WeeChat服务器不需要这些行。...使用GNU Screen GNU Screen允许您启动WeeChat并使其保持运行,即使您与Linode断开连接也是如此。...您也可以按ALT +编号(Mac上的ESC +编号),其中“编号”为1-9,以切换到该缓冲区编号。ALT + 4(Mac上的ESC + 4)将切换到缓冲区4。...从屏幕上,按分离CTRL + A,然后d。要重新连接到屏幕,请运行screen -r。即使您已从Linode实例注销并稍后连接,也可以重新连接到屏幕。

    6.5K30

    Go 开发者必备:Protocol Buffers 入门指南

    要点必须为消息定义中的每个字段指定一个 1 到 536,870,911 之间的数字,并遵守以下限制:给定的编号在该消息的所有字段中必须是唯一的。...不能使用任何之前已经保留的字段编号,也不能使用已经分配给扩展的字段编号。...在 proto3 中,字段默认被标记为 optional,这意味着你可以不为某个字段赋值,它会使用该字段类型的默认值,同时也可以区分该字段是否被 赋值,即使该字段的值为默认值。...即使你认为没有人在使用该字段,也不要重用标签号,因为历史中可能已经有已序列化的 proto 数据,或者其他服务的旧代码可能会受到影响。...使用通用类型和常用类型 推荐使用一些已定义的通用类型(如 duration、timestamp、date、money 等),而不是自己定义类似的类型。这样可以减少重复定义,同时也能确保跨语言的一致性。

    282146

    protocol buffers 序列化数据

    数据格式更加具有自我描述性,可以用各种语言来处理(C++, Java 等各种语言) 随着系统慢慢发展,演进,protocol buffers 目前具有了更多的特性: 自动生成的序列化和反序列化代码避免了手动解析的需要...proto2 和 proto3 的名字看起来有点扑朔迷离,那是因为当我们最初开源的 protocol buffers 时,它实际上是 Google 的第二个版本了,所以被称为 proto2,这也是我们的开源版本号从...分配字段编号 每个消息定义中的每个字段都有唯一的编号。这些字段编号用于标识消息二进制格式中的字段,并且在使用消息类型后不应更改。...请记住为将来可能添加的频繁出现的元素留出一些空间。 可以指定的最小字段编号为1,最大字段编号为229-1 或 536,870,911。...2.如果您添加新字段,则任何由代码使用“旧”消息格式序列化的消息仍然可以通过新生成的代码进行分析。您应该记住这些元素的默认值,以便新代码可以正确地与旧代码生成的消息进行交互。

    1.2K30

    Protobuffer 官方文档学习

    但是,您也可以为字段指定复合类型,包括枚举和其他消息类型。 分配标签 消息定义中的每个字段都有唯一的编号标签。这些标签用于以消息二进制格式标识字段,并且在使用消息类型后不应更改它们。...解决方法:在"reserved"后指定已删除字段, 当以后使用这些字段的时候protobuffer解释器会自动报错。...精简的运行时间远小于完整的库(大约在一个数量级上),但省略了某些功能,如描述符和反射。这对于在受限平台(如手机)上运行的应用程序尤其有用。编译器仍将像SPEED模式一样生成所有方法的快速实现。...选择编号 确保两个用户不使用相同的数字标签添加相同消息类型的扩展非常重要 如果您的编号约定可能涉及具有非常大数字的扩展名作为标签,则可以使用max关键字指定扩展范围达到最大可能的字段数: message...要获取全球唯一的字段编号,请发送一个请求到protobuf-global-extension-registry@google.com。

    8.1K41

    PostgreSQL 教程

    PostgreSQL 入门 本部分向您展示如何在 Windows、Linux 和 macOS 上安装 PostgreSQL,帮助您开始使用 PostgreSQL。...使用 SERIAL 自增列 使用 SERIAL 将自动增量列添加到表中。 序列 向您介绍序列并描述如何使用序列生成数字序列。 标识列 向您展示如何使用标识列。 更改表 修改现有表的结构。...重命名表 将表的名称更改为新名称。 添加列 向您展示如何向现有表添加一列或多列。 删除列 演示如何删除表的列。 更改列数据类型 向您展示如何更改列的数据。 重命名列 说明如何重命名表中的一列或多列。...检查约束 添加逻辑以基于布尔表达式检查值。 唯一约束 确保一列或一组列中的值在整个表中是唯一的。 非空约束 确保列中的值不是NULL。 第 14 节....PostgreSQL 技巧 主题 描述 如何比较两个表 描述如何比较数据库中两个表中的数据。 如何在 PostgreSQL 中删除重复行 向您展示从表中删除重复行的各种方法。

    59210

    Citus 分布式 PostgreSQL 集群 - SQL Reference(创建和修改分布式表 DDL)

    前面描述的 create_distributed_table 函数适用于空表和非空表,对于后者,它会自动在整个集群中分布表行。...删除表 您可以使用标准的 PostgreSQL DROP TABLE 命令来删除您的分布式表。与常规表一样,DROP TABLE 删除目标表存在的任何索引、规则、触发器和约束。...DROP TABLE github_events; 修改表 Citus 会自动传播多种 DDL 语句,这意味着修改协调器节点上的分布式表也会更新工作器上的分片。...其他 DDL 语句需要手动传播,并且禁止某些其他语句,例如那些会修改分布列的语句。尝试运行不符合自动传播条件的 DDL 将引发错误并使协调节点上的表保持不变。 以下是传播的 DDL 语句类别的参考。...ALTER TABLE ads ALTER COLUMN image_url SET NOT NULL; 使用 NOT VALID 约束 在某些情况下,对新行实施约束,同时允许现有的不符合要求的行保持不变是很有用的

    2.8K20

    【JAVA-Day52】深度解析 Java TreeSet 集合

    TreeSet内部使用红黑树数据结构来存储元素,这使得它能够保持元素的有序性和唯一性。有序性意味着元素按照升序排列,唯一性意味着集合中不允许重复的元素。...唯一性要求:如果您需要确保集合中不包含重复的元素,TreeSet会自动去除重复的元素。...以下是一些性能考量和适用场景: 插入和删除性能:TreeSet在插入和删除操作上通常具有O(log N)的性能,其中N是元素的数量。...这些性质使得红黑树能够在插入和删除元素时自我平衡,保持树的高度接近平衡,从而保证了O(log N)的查找、插入和删除性能。...它确保了事件按照时间顺序进行排列,使得用户能够方便地查看和计划未来的事件。有序的事件列表也可以用于生成日历视图,帮助用户更清晰地了解他们的日程安排。

    11910

    Google Analytics增强版电子商务功能的分步指南

    请立即使用增强型电子商务插件! 大约两年前推出的Google Analytics(分析)增强型电子商务插件(或ec.js)就可以为您提供过去只能梦寐以求的数据。...具体如,平均订单价值的详细报告,向购物车添加商品的访客量比例,订单中的平均商品数量,联盟营销记录(交易次数,收入和向您的门户网站导流的联盟网站带来的平均订单价值)以及购物车放弃率 。...为了避免您在亲自动手安装时一定会产生的头痛和沮丧,不如考虑外包给有经验的网络开发人员来为您处理这件棘手的事。...插件数据类型 您可以使用ec.js和点击、添加、删除、结帐、购买和退款等操作为GA收集四种类别的数据,帮助您进一步了解产品或促销数据。...在“Google Analytics(分析)GA报告”页上的“转化>电子商务”下,您会发现两个非常有价值的报告,可协助您快速入门和提升业务。

    4.3K40

    生成UUID论英雄:Python、MySQL和Power BI谁强?

    例如用户编号、订单编号、客户编号等等,几乎凡是需要用来严格划分用户数据归属性的地方就需要用到唯一ID,否则A的数据到了B那,数据乱了整个系统也就算是毁了。...国际上对于ID标准化、唯一化有一些统一的标准,比如: UUID全称:Universally Unique Identifier,即通用唯一识别码。...换句话说,GUID 是一个高度唯一的 ID,即使它是随机生成的,也不太可能重现(基于概率) - 确实如此,且与UUID一致。...,那么先对列去重,然后添加一行: = Table.AddColumn(删除的副本, "自定义", each Text.NewGuid()) 结果发现: 所有的行都是相同的值,这显然不是我们想要的。...对于所有的行,Text.NewGuid只运行了一次! 也就是说,在添加自定义列时,pq并不是循环每一行来实现添加,而是直接一次性添加!

    2.8K10

    为你的CVM设置SSH密钥吧!

    第一步、安装Google的PAM 在这个步骤中,我们将安装和配置Google的PAM。 PAM,可插拔认证模块,用于对用户进行身份验证的Linux系统上的身份验证基础结构。...一旦添加,你将看到一个六位数的验证码,每30秒在你的应用程序中改变一次。 注意:确保密钥、验证代码和恢复代码记录在安全的地方,如密码管理器。...如果这是你所需要的,你可以在这里结束。然而,这并不是进行多因素身份验证的唯一方法。下面是使用这个PAM模块进行多因素身份验证的几种额外方法,以及一些恢复、自动使用等技巧和技巧。...这将允许用户仅使用一个因素再次登录,前提是您没有通过删除‘/etc/pam.d/sshd’文件中的nulllok来强制MFA。这样就可以使用google-authenticator生成新密钥。...若要将代码过期窗口扩展到4分钟,请添加行WINDOW_SIZE 17. 若要禁用多个失败登录(速率限制),请删除行RATE_LIMIT 3 30. 若要更改速率限制的阈值,请查找该行。

    2.9K20

    Extreme DAX-第 2 章 模型设计

    但是,需要提醒的是:最终,您仍然需要知道不同列中的哪些值是放在一行中的。仅仅知道编号为103的产品已经全部售出是不够的;您还需要知道它的价格,销售给哪个客户以及销售日期是哪一天。...很显然,当您忘记在 Power Query 中显式进行类型转换时,数字列也会存储为文本。(当然,你可以更改模型中的数据类型,这将自动在 Power Query 中添加一个更改数据类型的步骤。)...与其他关系的一个重要区别是,当遇到不匹配的值时,多对多关系不会自动添加空白行到筛选表中,这可能会导致意想不到的结果。...我们遇到过这样的情况:仅仅是从最大的事实表中删除了一个唯一值的列,模型的大小竟然缩小了 90% 以上! 与数据类型一样,非重复值的数量也会对关系产生影响。关系的主键值的数量应保持相对小一些。...↑ 另外,我刚在Github上搞了一个博客,会将一些原来在公众号和知乎上发布的文章都集中到这里,也会与后续的公众号保持同步,请大家多多关照。

    3.5K10

    谷歌工程实践 | 学习笔记

    快速响应 快速的个人响应比整个过程快速发生更为重要。 带评论的LGTM 为了加快代码审查,在某些情况下,即使他们也在 CL 上留下未解决的评论,审查者也应该给予 LGTM/Approva。...如果相关,请包括背景信息,例如错误编号,基准测试结果以及设计文档的链接。 即使是小型 CL 也需要注意细节。在 CL 描述中提供上下文以供参照。...对于 CL 来说,100 行通常是合理的大小,1000 行通常太大,但这取决于您的审查者的判断。变更中包含的文件数也会影响其“大小”。...在某些情况下,大变更也是可以接受的: 您通常可以将整个文件的删除视为一行变更,因为审核人员不需要很长时间审核。...有时一个大的 CL 是由您完全信任的自动重构工具生成的,而审查者的工作只是检查并确定想要这样的变更。但这些 CL 可以更大,尽管上面的一些警告(例如合并和测试)仍然适用。

    59810

    【MySQL 系列】MySQL 语句篇_DDL 语句

    2.3.4、自增列 自增列是 MySQL 中的一个特殊的列,该列的值可由 MySQL 服务器自动生成,并且是一个按升序增长的正整数序列。自增列能够被用来为表的新行产生唯一的标识。...每插入一行到表中,该列的值自动增加 ;⑦ 不像生成列,在插入新行时可以为自增列指定一个值 2.3.5、生成列 在 MySQL 中,生成列(GENERATED COLUMN)是一个特殊的列,它的值会根据列定义中的表达式自动计算得出...这样即使一个表被分区在多个服务器上,也不会产生相同的主键的记录; 使用 UUID_SHORT() 函数。UUID_SHORT() 函数返回一个 64 位无符号整数并全局唯一。...它可以通过名字删除任何约束,并不仅仅是外键; 3.2.4、CASCADE 策略 如果外键的 ON DELETE 和 ON UPDATE 使用了 CASCADE 策略: 当父表的行被删除的时候,子表中匹配的行也会被删除...当父表的行的键值更新的时候,子表中匹配的行的字段也会被更 3.3、唯一键约束 唯一约束与主键约束有一个相似的地方,就是它们都能够确保列的唯一性。

    32410

    Debezium 2.0.0.Final Released

    这个版本的一个大主题是对增量快照的改进,所以我们利用这个机会也简化了这一点。从这个版本开始,Debezium将自动将信号集合/表添加到表包含过滤器中,避免了用户需要手动添加它。...但是,如果您希望使您的配置与当前行为保持一致,您也可以安全地从table.include.list中删除信号集合/表配置,Debezium将开始自动为您处理这个问题。...这些列既不可见也不是用户定义,而是由数据库自动生成的隐藏合成列。此外,索引还可以使用数据库函数转换所存储的列值,例如UPPER或LOWER。...注意:MongoDB before字段仅在MongoDB 6或更高版本上可用。如果您使用的是6.0之前的MongoDB版本,那么即使配置了,事件输出中也会省略before字段。...Debezium容器镜像变更 支持ARM64 近年来,ARM64的性能已经发生了变化,即使在AWS上,64位ARM处理器的性能预期也超过了最新的x86-64处理器。

    3.1K20
    领券