这是一个python库,用于使用google docs api管理google文档上的表。

gdoctableappp的Python项目详细描述


gdoctableapppy

构建状态mit license

< A/>

概述

这是一个python库,用于使用google docs api管理google文档上的表。

说明

谷歌文档api已经发布。当我使用这个api时,我发现使用googledocsapi管理google文档上的表非常困难。虽然我检查了官方文件,但很不幸,我觉得这对我来说很难。为了方便管理google文档中的表,我创建了这个库。

功能

  • 所有值都可以从google文档的表中检索。
  • 数值可以放在表格中。
  • 删除表格、表格的行和列。
  • 可以通过包含值来创建新表。
  • 通过包含值将行追加到表中。

语言

我使用几种语言管理google文档上的表。所以我创建了三种语言的库,分别是golang、node.js和python。google apps脚本有类documentapp。所以我还没有创建gas库。

安装

$ pip install gdoctableapppy

您还可以在https://pypi.org/project/gdoctalableapppy/" rel="nofollow">https://pypi.org/project/gdoctalableapppy/上看到这个库

方法

<表><广告>方法说明 < /广告><正文>gettables()从文档中获取所有表格。getvalues()从文档的表中获取值。setvalues()设置具有二维数组的表的值。设置值(设置带有对象的表的值。deletetetable()删除表格。deleteRowsandColumns()删除表格的行和列。createTable()创建包含销售价值的新表。appendrow()通过包含值将行追加到表中。

此库使用google-api python客户端

响应

此库返回以下值。

{'tables':[],'values':[],'responseFromAPIs':[],'libraryVersion':version}
  • 当使用gettables()时,您可以通过表看到值
  • <李>使用getvalues()时,您可以看到带有值的值
  • 当使用其他方法并且showapiresponse选项为true时,您可以看到用于该方法的api的响应。而且,您还可以通过responsefromapis
  • 数组的长度来知道用于该方法的api的数量。

用法

关于授权,请查看授权部分。要使用此库,需要确认快速启动是否正常工作。

范围

在此库中,建议使用https://www.googleapis.com/auth/documents的范围。

< A/>

<H2>1。可吸入物

从文档中获取所有表。检索所有值、表索引和表位置。

示例脚本

此示例脚本从文档ID为的Google文档中检索所有表。

resource={"oauth2":creds,"documentId":documentId,# "showAPIResponse": True}res=gdoctableapp.GetTables(resource)# You can see the retrieved values like this.print(res)
  • 文档ID:文档ID.
  • oauth2:使用docs api的凭据。请检查"授权"部分。
    • 如果要使用服务帐户,请使用服务帐户,而不要使用OAuth2。关于此,请检查服务帐户的示例脚本。
  • showapiresponse:当使用showapiresponse:trueresource时,可以看到来自docs api的响应。默认值为false此选项可用于所有方法。

< A/>

<H2>2。获取值

从表中获取值。将检索所有值。

示例脚本

此示例脚本从google文档的第一个表中检索值。您可以将检索到的值视为[]字符串。因为当docs api检索值时,所有值都会自动转换为字符串数据。

resource={"oauth2":creds,"documentId":"###","tableIndex":0,}res=gdoctableapp.GetValues(resource)print(res)# You can see the retrieved values like this.
  • 文档ID:文档ID.
  • 表格索引:表格索引。如果要使用google文档中的第三个表。它是2。索引的起始编号为0。
  • oauth2:使用docs api的凭据。请检查"授权"部分。
    • 如果要使用服务帐户,请使用服务帐户,而不要使用OAuth2。关于此,请检查服务帐户的示例脚本。

< A/>

<H2>3。设定值1

将值放入表中有两种模式。在本节中,使用二维数组设置表的值。当输入值的行和列超过表的行和列时,此方法可以自动展开行和列。

示例脚本

此示例脚本将值放入google文档的第一个表。

resource={"oauth2":creds,"documentId":"###","tableIndex":0,"values":[["a1","b1"],["a2","b2"],["a3","b3","c3"]]}res=gdoctableapp.SetValues(resource)# You can see the retrieved responses from Docs API.print(res)
  • 文档ID:文档ID.
  • 表格索引:表格索引。如果要使用google文档中的第三个表。它是2。索引的起始编号为0。
  • oauth2:使用docs api的凭据。请检查"授权"部分。
    • 如果要使用服务帐户,请使用服务帐户,而不要使用OAuth2。关于此,请检查服务帐户的示例脚本。
  • []字符串

结果

运行上述脚本时,将获得以下结果。

起始位置:

 src=

至:

 src=

< A/>

<H2>4。设定值2

将值放入表中有两种模式。在本节中,将值设置为带有对象的表。在此方法中,可以使用范围设置值。当输入值的行和列超过表的行和列时,此方法可以自动展开行和列。

示例脚本

此脚本将带有范围的值放入google文档的第一个表。

resource={"oauth2":creds,"documentId":"###","tableIndex":0,"values":[{"values":[["A1"],["A2","B2","c2","d2"],["A3"]],"range":{"startRowIndex":0,"startColumnIndex":0}},{"values":[["B1","C1"]],"range":{"startRowIndex":0,"startColumnIndex":1}}]}res=gdoctableapp.SetValues(resource)# You can see the retrieved responses from Docs API.print(res)
  • 文档ID:文档ID.
  • 表格索引:表格索引。如果要使用google文档中的第三个表。它是2。索引的起始编号为0。
  • oauth2:使用docs api的凭据。请检查"授权"部分。
    • 如果要使用服务帐户,请使用服务帐户,而不要使用OAuth2。关于此,请检查服务帐户的示例脚本。
  • range.startrowindex:行索引的值[0][0]
  • range.startColumnIndexofvalues:列索引ofvalues[0][0]
  • :要放入的值。

例如,当行、列索引和值分别为1、2和"value"时,"value"被放入"c3"。

结果

运行上述脚本时,将获得以下结果。

起始位置:

 src=

至:

 src=

< A/>

<H2>5。删除表

示例脚本

此脚本删除google文档中的第一个表。

resource={"oauth2":creds,"documentId":"###","tableIndex":0}res=gdoctableapp.DeleteTable(resource)print(res)# You can see the retrieved responses from Docs API.
  • 文档ID:文档ID.
  • 表格索引:表格索引。如果要使用google文档中的第三个表。它是2。索引的起始编号为0。
  • oauth2:使用docs api的凭据。请检查"授权"部分。
    • 如果要使用服务帐户,请使用服务帐户,而不要使用OAuth2。关于此,请检查服务帐户的示例脚本。

< A/>

<H2>6。删除行和列

示例脚本

此脚本删除google文档中第一个表的3、1和2的索引行。此外,此脚本还删除索引2、1和3的列。

resource={"oauth2":creds,"documentId":"###","tableIndex":0,"deleteRows":[3,1,2],# Start index is 0."deleteColumns":[2,1,3]# Start index is 0.}res=gdoctableapp.DeleteRowsAndColumns(resource)print(res)# You can see the retrieved responses from Docs API.
  • 文档ID:文档ID.
  • 表格索引:表格索引。如果要使用google文档中的第三个表。它是2。索引的起始编号为0。
  • oauth2:使用docs api的凭据。请检查"授权"部分。
    • 如果要使用服务帐户,请使用服务帐户,而不要使用OAuth2。关于此,请检查服务帐户的示例脚本。
  • 删除行:要删除的行的索引。
  • 删除列:要删除的列的索引。

< A/>

<H2>7。创建表

示例脚本

此脚本将在google文档的顶部创建新表,表中的单元格具有值。

resource={"oauth2":creds,"documentId":"###","rows":3,"columns":5,"createIndex":1,# "append": True,  # When this is used instead of "Index", new table is created to the end of Document."values":[["a1","b1"],["a2","b2"],["a3","b3","c3"]]}res=gdoctableapp.CreateTable(resource)print(res)# You can see the retrieved responses from Docs API.
  • 文档ID:文档ID.
  • oauth2:使用docs api的凭据. 请检查"授权"部分。
    • 如果要使用服务帐户,请使用服务帐户,而不要使用OAuth2。关于此,请检查服务帐户的示例脚本。
  • :新表的行数。
  • :新表的列数。
  • createindex:用于放置新表的文档索引。例如,1是文档的顶部。
  • append:当appendtrue而不是createindex时,新表将创建到google文档的末尾。
  • :如果要在创建新表时放置值,请使用此选项。

结果

运行上述脚本时,将获得以下结果。在这种情况下,新表将创建到google文档的顶部。

 src=

< A/>

<H2>8。附录行

示例脚本

此示例脚本将值追加到google文档的第一个表。

$ pip install gdoctableapppy
0
  • 文档ID:文档ID.
  • 表格索引:表格索引。如果要使用google文档中的第三个表。它是2。索引的起始编号为0。
  • oauth2:使用docs api的凭据。请检查"授权"部分。
    • 如果要使用服务帐户,请使用服务帐户,而不要使用OAuth2。关于此,请检查服务帐户的示例脚本。
  • :要附加到现有表的值。

结果

运行上述脚本时,将获得以下结果。在这种情况下,将值放在最后一行。您可以看到在运行脚本时自动添加了3列。

起始位置:

 src=

起始位置:

 src=

< A/>

授权

使用此库有两种模式。

<H2>1。使用OAuth2

OAuth2的文档在这里

示例脚本

在这个示例脚本中,授权过程使用node.js的快速启动。您可以在那里看到详细信息。

$ pip install gdoctableapppy
1

< A/>

<H2>2。使用服务帐户

服务帐户文档在这里。使用服务帐户时,请将谷歌文档与服务帐户的电子邮件共享。

示例脚本

$ pip install gdoctableapppy
2

限制

参考文献:


< A/>

许可证

麻省理工学院

< A/>

作者

tanaike

如果您有任何问题和委托,请随时告诉我。

< A/>

更新历史记录

  • v1.0.0(2019年7月18日)

    1. 初始版本。
    2. < > >

顶部

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用Eclipse Helios for Web项目   java指定行。作为编译器设置的分隔符?   osm映射中带有osmdroid的java标记   java Android ClassNotFoundException在路径:DexPathList上未找到类   java从j2me调用GWT方法   更新到java 8后的aspectj问题   如何仅从根元素java,com提取文本内容。滴虫软件。是的。html   安卓公司。谷歌。火基。数据库DatabaseException:未能转换java类型的值。将字符串改为长字符串   从java中的方法返回arraylist变量   java如果将引用重新分配给同步块内的锁对象,会是什么?   java下载。使用spring mvc的资源文件中的xlsx文件   java Eclipse提供了什么工具来运行Eclipse中未包含的程序?   spring boot Java泛型如何读取传递给泛型方法的类型上的字段或调用方法   Javacard中的javaecdsa签名