首页
学习
活动
专区
圈层
工具
发布

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

获取证书文件最简单的方法是在developers.google.com/sheets/api/quickstart/python进入谷歌表格Python 快速入门页面,点击蓝色的启用谷歌表格API 按钮...将该文件重命名为credentials-sheets.json,并将其放在与 Python 脚本相同的文件夹中。...前往sheets.google.com在你的账户下创建电子表格,然后从地址栏获取 ID。...以列表形式获取一列或一行,更新列表,然后用列表更新整个列或行要快得多,因为所有的更改都可以在一个请求中完成。 要一次获得所有的行,调用getRows()方法返回一个列表列表。...如果通过频繁地使用 EZSheets 进行读写请求,超出了 Google 帐户的限额,会发生什么情况? 实践项目 为了练习,编写程序来完成以下任务。

15K50

前端必读:如何在 JavaScript 中使用SpreadJS导入和导出 Excel 文件

让我们在页面上添加一个按钮来执行此操作: Add Revenue 我们可以为该按钮的单击事件处理程序编写一个函数来添加一行并从前一行复制样式以准备添加一些数据。...这允许我们通过传入行索引、列索引和值来在 Spread 中的工作表中设置值: sheet.setValue(newRowIndex, 1, "Revenue 8"); for (var c = 3;...为此,我们需要提供一系列单元格以从中获取数据以及迷你图的一些设置。...在这种情况下,我们可以指定: 单元格的范围,我们只是将数据添加到 使迷你图看起来像同一列中的其他迷你图的设置 var data = new GC.Spread.Sheets.Range(11, 3, 1...添加 Excel 导出代码 最后,我们可以添加一个按钮来导出包含添加行的文件。

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

    如何使用 JavaScript 导入和导出 Excel

    这允许我们通过传入行索引、列索引和值来设置 Spread 中工作表中的值: var cellText = "Revenue" + revenueCount++; sheet.setValue(newRowIndex...newRowIndex, 16, 0.15); 最后,我们可以再次使用 copyTo() 函数将 R 列到 AD 列的公式从前一行复制到新行,这次使用 CopyToOptions.formula(只复制公式...为此,我们需要提供一系列单元格来获取数据以及迷你图的一些设置。...在这种情况下,我们可以指定: 我们刚刚添加数据的单元格范围 调整迷你图的设置使其更加美观 var data = new GC.Spread.Sheets.Range(newRowIndex, 3, 1,...5)编写 Excel 导出代码并导出 Excel 最后,我们可以添加一个按钮来导出包含了刚刚添加的收入行的文件。

    3.9K20

    超全整理|Python 操作 Excel 库 xlwings 常用操作详解!

    # 活动工作表 sheet = xw.sheets.active # 在活动工作簿 sheet = wb.sheets.active # 在特定工作簿 # 活动工作表的Range xw.Range...# 获取横向或纵向多个单元格的值,返回列表 A1_A3 = sheet.range('A1:A3').value print(A1_A3) # 获取给定范围内多个单元格的值,返回嵌套列表,按行为列表 A1...还有一种类似 pandas 切片获取范围内所有值的方法: sheet = wb.sheets.active A1_B2 = sheet[:2, :2].value print(A1_B2) 五、写入数据...以下为写入 1 个单元格、一行或一列写入多个单元格、写入范围内多个单元格代码 # 写入 1 个单元格 sheet.range('A2').value = '大明' # 一行或一列写入多个单元格 #...可以调用Excel公式,这是pandas无法完成的 # 获取公式 print(sheet.range('B2').formula_array) # 写入公式 sheet.range('B2').formula

    22.6K82

    超全整理|Python 操作 Excel 库 xlwings 常用操作详解!

    # 活动工作表 sheet = xw.sheets.active # 在活动工作簿 sheet = wb.sheets.active # 在特定工作簿 # 活动工作表的Range xw.Range...在 xlwings 中,可以通过 sheet.range 获取一个或多个单元格进行操作,另外也可以不用 sheet.range 获取: # 获取单个单元格的值 A1 = sheet['A1'].value...还有一种类似 pandas 切片获取范围内所有值的方法: sheet = wb.sheets.active A1_B2 = sheet[:2, :2].value print(A1_B2) ?...五、写入数据 以下为写入 1 个单元格、一行或一列写入多个单元格、写入范围内多个单元格代码 # 写入 1 个单元格 sheet.range('A2').value = '大明' # 一行或一列写入多个单元格...六、获取数据范围 有两种方法实现 # 方法一 shape = sheet.used_range.shape print(shape) # 方法二 nrow = sheet.api.UsedRange.Rows.count

    4.7K20

    使用Google App Script和Google Sheet自动生成数据仪表盘

    在我们上面假设的场景中,我们可以通过Github API的REST URL来轻松地获取我们需要追踪的数据: https://api.github.com/:owner/:repo 该请求的响应包括stargazers...步骤2:创建Google App Script从API拉取数据 Google App Script 是一门基于JavaScript的语言,你可以用它来对Google Sheets(以及其他Google套件...下面我们将创建updateGithubSheet方法,每当这个方法被调用时都会创建新的一行,该行的第一列会填充相应的时间。 function updateGithubSheet(){ ......步骤3:设置一个自动触发器来拉取数据 脚本的自动化可以通过一个触发器周期性地去执行改脚本来实现。...xtract的SUBSCRIBE值对应的就是前面获取到的数组中的最大值,如果某月范围内没有值,那么就会执行IF语句并在相应的位置填充0或者保持空值。 最后,我们可以根据格式化的数据创建得到仪表盘。

    8.7K60

    创建 SpreadJS Blazor 组件

    比较通用的 JavaScript 电子表格组件,可以轻松地使用、显示并通过数据绑定提供实时数据更新。...要使用 Finnhub Stock API,您需要创建一个免费帐户并生成您的 API 密钥,我们稍后将在该应用程序中使用该密钥。...@grapecity/spread-sheets-charts 一旦安装成功,就可以创建一个名为“index.js”的文件来设置应用程序,其中会包含以下内容: var express = require...在这种情况下,我们可以将文件命名为“index.html”。然后继续向HTML 文件添加一些代码,包括对 SpreadJS 脚本和 CSS 引用以及一些基本的初始化代码: <!...function(req, res){ res.sendFile(__dirname + '/stockTemplate.js'); }); 同时,在 index.html 文件中,可以通过添加脚本来加载该模板文件

    3.8K20

    Google Apps Script 的使用

    Google Apps Script 是为谷歌工作表 Sheets、文档, Docs、幻灯片Slides或表单 Forms创建附加组件,自动化您的工作流,与外部api集成,等等。...他的使用也很简单,除了简单易用的api外,还有强大的管理功能 打开Apps Script的脚本管理页面,我们可以看到这样一个页面 上面这个页面就是脚本管理页面 点击右上角的新建项目,就会弹出这样一个新建项目的页面...js非常的相似, 这段脚本就是获取一个google doc文件,并打印出文档的title。...(第 7 行,“代码”文件) 这是因为我们还没有授权,这个项目可以使用那些类,那些API 要授权,就点击资源,高级谷歌服务 点击后弹窗 我们找到Google Docs API 这一行,然后点击最后一列的...我们点击查看,执行记录 可以看到 Docs的title 已经打印出来了 脚本的编写和执行就那么简单, 但复杂脚本编辑会用到很多API 和一些工作流 API 链接 https://developers.google.com

    5.4K10

    Python自动化办公-让 Excel 飞起来

    2、功能齐全,支持 Excel 的新建、打开、修改、保存,pandas、xlsxwriter 不能全做到。 3、语法简单,用过一次后我就记住了。 4、可以调用 VBA,有丰富的 API。...xlwings 写入 Excel 现在来实现一个小小的需求:针对上述读取的 Excel,我们现在来统计分数的总和及平均数,并写入 Excel 的最后行。...,首先获取分数所在的列,然后将所有的分数取出来保存在列表中,对其求和,求平均值,然后写回 Excel 的最后一行。...但是公司要求员工薪水保密,所以每个员工的工资需要拆分成一个独立的文件,最后再转成 pdf 通过邮件发送出去。...我想你会这样做:先把 Excel 通过工作群分发给所有员工,再把群里收集到的反馈附件汇总成一个文件。 现在你可以仿照上面拆分的方法来进行批量合并。

    2.6K80

    Python自动化:Python操作Excel的多种方式Pandas+openpyxl+xlrd

    dtype: 数据或字典,用于强制指定某些列的数据类型。 engine: 用于读取Excel文件的引擎。None将尝试使用io的扩展名来选择引擎。...虽然read_excel没有直接读取特定单元格范围的参数,但你可以通过usecols和行切片来实现类似的效果。...你可以通过工作表名称或索引来访问特定的工作表。...# 通过行号和列号读取 cell_value = sheet.cell_value(0, 0) # 读取第一行第一列的数据 print(cell_value) # 或者使用 cell...或类似库来转换A1表示法) # 注意:xlrd本身不直接支持A1表示法,这里仅作为说明 # 通常,你会通过计算行号和列号来访问单元格 语法参数详解 由于 xlrd 的 API 相对简单,这里主要关注

    4.4K10

    最全总结 | 聊聊 Python 办公自动化之 Excel(中)

    return current_sheet 另外,也可以通过 Sheet 名称去获取某一个特定的 Sheet 对象 def get_sheet_by_name(wb, sheet_name...[列]的数据,可以使用下面的方式: def get_row_cells_by_index(sheet, row_index): """ 通过行索引,获取某一行的单元格 :param...] return column_cells 需要注意的是,获取某一行的数据需要传入数字索引;而对于列数据的获取,必须传入字符串索引 和 Python 列表范围取值类似,openpyxl 同样支持使用...: 符号拿到某个范围内的数据行[列] def get_rows_by_range(sheet, row_index_start, row_index_end): """ 通过范围去选择行范围...最后 可以发现,openpyxl 相比 xlrd/xlwt,提供了大量实用的 API,功能更强大,并且完美支持 xlsx!

    2K30

    Python操作OpenOffice

    我们之后会用它来获取OpenOffice.org的组件上下文: 现在我们有了一个本地组件上下文。接下来,我们还要获取UnoUrlResolver服务。...使用桌面服务 既然我们可以使用OpenOffice.org的API,那么让我们来操作一下文件吧。我早前提到过有一个服务是负责当前文档的。...UNO对象包括了属性,这些属性可以用很简单的方法调用进行修改。在我们改变游标字体尺寸前,我们先获取目前的字体大小: 如你所见,字体尺寸属性的名称叫“CharHeight”。...先打开一个新的文档: 在新的空白文档上开始使用表格。我们要做的表格包含五个国家,还有每个国家的人口。所以,这个表格会有6行,其中一行是表头;还有2列。...表格的第一行命名为“A”,第一列命名为“1”.这个命名模式持续到表格最后,每一个单元格的名字都是行名和列名的组合。

    3.4K80

    Spread for Windows Forms高级主题(6)---数据绑定管理

    fpSpread1.Sheets[0].AddColumns(20, 1); 将Spread的单元格区域绑定到外部数据源 你可以将Spread控件中一定范围内的单元格绑定到外部的数据源上。...默认情况下,Spread控件会尝试将外部数据源中的数据类型与它所包含的单元格类型进行匹配。你可以将DataAutoCellTypes属性设置为false来阻止以上的默认行为。...你可以将Spread控件中一定范围内的单元格绑定到外部的数据源上。...默认情况下,Spread控件会尝试将外部数据源中的数据类型与它所包含的单元格类型进行匹配。你可以将DataAutoCellTypes属性设置为false来阻止以上的默认行为。...你可以设置层次结构的显示方式,Spread会将其当做父表单的子视图。使用SheetView类的属性,你可以获取更多有关子视图的信息。

    3.1K100

    提高工作效率的神器:基于前端表格实现Chrome Excel扩展插件

    插件允许我们通过使用API修改浏览器行为和访问Web内容来扩展和增强浏览器的功能。...今天我们就带大家来花30分钟时间,一起写一个展示待办任务的浏览器插件。 获取本文的完整Demo: https://gcdn.grapecity.com.cn/forum.php?...这里设置了三个值: sheetCount、scrollbarMaxAlign、newTabVisible;分别表示表单数量,滚动条与活动表单的最后一行和最后一列对齐,不显示新增表单选项。...至于action配置之前也提到了,可以配置弹出页面,最后的permissions可以配置权限。 基础配置之后,就可以在background.js中来进行我们的处理啦。...在插件安装成功后,可以通过chrome.alarms这个api创建刷新时间与通知时间。

    4.4K10

    Python与Microsoft Office

    下一行是通过调用Excel实例的“Workbooks.Add()”方法将新工作簿添加到Excel,这将返回一个sheets对象。要获得活动表,调用ss.ActiveSheet。...最后,通过将Visible属性设置为True,使Excel程序本身可见。 要设置特定单元格的值,调用如下内容:sh.Cells(row,col).Value=“一些值”。...注意,我们的实例不是基于零的,实际上会将值放入正确的行/列组合中。如果想提取一个值,只需删除等号。如果想要这个公式呢?...下面是Excel中的VBA代码: Sub Macro1() ' ' Macro1 Macro ' Sheets("Sheet2").Select End Sub 从这段代码中,发现需要调用的sheets...对象的“sheets”方法,在稍微修改之后,通过执行以下操作使其在Python中工作: sheet2 = ss.Sheets(“Sheet2”) 现在,我们在工作簿的第二个工作表上有了一个句柄。

    3.7K20

    如何使用JavaScript 将数据网格绑定到 GraphQL 服务

    它还允许您通过单个请求从多个来源获取数据。 GraphQL 还使用类型系统来提供更好的错误检查和消息传递。...简单尝试 我们可以用一个demo网址来尝试感受一下GraphQL的魅力所在:https://demodata.grapecity.com/northwind/ui/graphql 我们用 Microsoft...实际使用 日常开发过程中我们可以用我们常用的JavaScript来直接操作GraphQL,并将自己想要的数据呈现在页面上, 我们可以参考这个简单的应用程序,我们将仅使用 fetch API 来调用 GraphQL...,我们可以借助SpreadJS的数据绑定功能中对列的单元格类型来实现这个需求: var combo = new GC.Spread.Sheets.CellTypes.ComboBox(); combo...SpreadJS中数据验证是存在继承性的,上一行同一列的单元格存在数据验证,那么下一个行同一位置就会继承上一行的数据验证效果。

    2.2K10
    领券