插入行 python gdata.spreadsheets.client

2024-05-19

我对专门用于谷歌电子表格的 python gdata API 有点困惑。使用 gdata.spreadsheet.service 可以很容易地组合一个字典并将其作为新行插入到谷歌电子表格中,如下所示http://www.mattcutts.com/blog/write-google-spreadsheet-from-python/ http://www.mattcutts.com/blog/write-google-spreadsheet-from-python/:

Dict = {'weight':'600'}
spr_client.InsertRow(Dict, spreadsheet_key, worksheet_id)

现在我需要使用模块 gdata.spreadsheets.client 因为我需要 Oauth 的东西。我能够进行身份验证并编辑现有单元格,但是我无法根据上述列中的值插入新单元格或行。

据我所知:

import gdata.spreadsheets.client
import gdata.gauth

token = gdata.gauth.OAuth2Token(client_id='CLIENTID',
                                client_secret='CLIENTSECRET',
                                scope='https://spreadsheets.google.com/feeds/',
                                user_agent='blah.blah',
                                access_token='ACCESSTOKEN',
                                refresh_token='REFRESHTOKEN')
spr_client = gdata.spreadsheets.client.SpreadsheetsClient()
token.authorize(spr_client)
for entry in spr_client.get_list_feed('SPREADSHEETID', 'od6').entry:
    print entry.to_dict()
    entry.set_value('weight', '600')
    spr_client.update(entry)

这只是覆盖权重列中的第一个值,而不是在列下方的行中附加另一个值 任何帮助都会令人惊叹的


我又看了一遍,现在谷歌终于从 gdata.spreadsheet.service.SpreadsheetsService() (基于用户名、密码的身份验证)中删除了 ProgrammaticLogin() 。使用 OAuth2 和更新版本的 gdata python API 时,答案相对简单。

import gdata.spreadsheets.client
import gdata.spreadsheets.data
import gdata.gauth

# create the OAuth2 token
token = gdata.gauth.OAuth2Token(client_id='CLIENTID',
                                client_secret='CLIENTSECRET',
                                scope='https://spreadsheets.google.com/feeds/',
                                user_agent='blah.blah',
                                access_token='ACCESSTOKEN',
                                refresh_token='REFRESHTOKEN')

# create the spreadsheet client and authenticate
spr_client = gdata.spreadsheets.client.SpreadsheetsClient()
token.authorize(spr_client)

#create a ListEntry. the first item of the list corresponds to the first 'header' row
entry = gdata.spreadsheets.data.ListEntry()
entry.set_value('ham', 'gary')
entry.set_value('crab', 'sack')

# add the ListEntry you just made
spr_client.add_list_entry(entry, 'SPREADSHEETID', 'od6')

这将在最后使用的行之后追加一个包含数据的新行。请小心空行,因为“ListFeed”仅计入最后使用的行。 还有更优雅的方法来获取电子表格密钥和工作表 ID,但是电子表格密钥位于要编辑的工作表的 URL 中,并且第一个工作表通常是 od6。如果不是 od6,此网址可以提供帮助:https://spreadsheets.google.com/feeds/worksheets/YOUR_SPREADSHEET_ID/private/full https://spreadsheets.google.com/feeds/worksheets/YOUR_SPREADSHEET_ID/private/full

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

插入行 python gdata.spreadsheets.client 的相关文章

随机推荐

  • 如何构建支持 C++0x 的 Boost?

    我不知道如何使用 C 0x 编译器构建 Boost 必须给 bjam 提供哪个选项 应该修改 user config 文件吗 有人可以帮助我吗 最好的 维森特 我已经找到答案了 我正在等待类似 std 的功能 并将其命名如下 bjam st
  • 如何在asp.net中的按钮单击事件调用之前和之后调用javascript函数

    我在 ASP NET 中创建了 ButtonClick 函数 如下所示
  • 将大型 CSV 加载到 Google BigQuery 时出错

    将大型 CSV 加载到 bigquery 时出现错误 我在网上阅读的所有地方都发现压缩文件有 5GB 大小限制 但 CSV 没有限制 加载操作中的 BigQuery 错误 处理作业 bqjob r3016bbfad3037f 0000015
  • 为什么 printf 使用浮点和整数格式说明符打印随机值

    我在64位机器上写了一个简单的代码 int main printf d 2 443 所以 这就是编译器的行为方式 它将识别第二个参数为双精度型 因此它将在堆栈上压入 8 个字节 或者可能只是在调用之间使用寄存器来访问变量 d需要 4 字节整
  • Node.js http get 请求错误事件未拾取 404 或 403

    我正在对图像发出 HTTP GET 请求 有时图像会以 404 或 403 的形式返回 令我惊讶的是 我必须明确检查这一点 而不是在错误事件中选择它 这是它的工作原理还是我在这里遗漏了一些东西 function processRequest
  • 将 Azure AD 集成到 ASP.NET Core Web 应用程序时更改默认访问拒绝路径

    我正在尝试更改使用 Azure AD 时授权被拒绝时的默认访问被拒绝路径 例如 当使用 Microsoft 的 将 Azure AD 集成到 ASP NET Core Web 应用程序中 的示例时 请参见此处 https azure mic
  • postgresql 不同的不工作

    我使用以下代码从数据库获取值 但是当我编写这段代码时 测试看看问题出在哪里 我注意到查询没有从数据库中获取不同的值 这是查询 select distinct ca id as id acc name as accName pIsu name
  • Terraform - 可选的 SSM 参数查找

    我正在查找 SSM 参数 该参数可能存在也可能不存在 具体取决于传入的变量 data aws ssm parameter server tags name var env number server tags 然后我在本地文件中像下面一样使
  • 如何在 WebStorm 中安装 Groovy 插件?

    我正在使用 WebStorm 进行开发 我想要为 Jenkins Groovy 管道提供语法突出显示 使用IntelliJ IDEA来编辑Jenkinsfile是可以的 但是在IDE之间来回切换显然很不方便 我可以安装吗Groovy 插件
  • Windows 上的 ffmpeg-android ndk

    我正在尝试编译 bash 文件 带有 android ndk 的 ffmpeg 我收到如下错误 arm linux androideabi gcc 无法创建可执行文件 C 编译器测试失败 Makefile 2 config mak 没有这样
  • python django shell (ipython) 意外行为或错误?

    在使用区域设置时 Django shell 的行为 至少对我来说 是意外的 从外部脚本调用时 逗号分隔小数字段的表单验证有效 但从 django shell ipython 调用时失败 开始一个新项目我得到以下文件 local forms
  • 保护 ASP.NET 网站中 Elmah RSS 源的安全

    我遵循了这个问题的答案在 ASP NET 网站中保护 Elmah 的安全 https stackoverflow com questions 1245364 securing elmah in asp net website限制对 elma
  • 如何使用javascript进行相对路径重定向?

    我正在一个基于 php 的网站中处理 javascript jquery 并且我必须在页面中发生事件时重定向页面 可以说 点击按钮 点击我 page1 php 页面应重定向到 page2 php 这个重定向必须使用 javascript j
  • Javascript 定时通知 - setTimeout、setInterval

    我正在创建一个网络应用程序 允许用户管理日历 CRUD 事件 任务 提醒等 我正在尝试实现一个功能 他们将在事件 任务前 x 分钟收到弹出提醒 根据我的理解 使用 javascript 确实只有一种方法可以做到这一点 登录时 检查数据库中是
  • 沙箱中的 Nodejs

    我使用 NodeJS 作为客户端浏览器和服务器之间的中间人来处理所有请求 我正在尝试使用 nodejs 作为过滤工具并突出显示 如果不是 所有恶意脚本 但我意识到nodejs让脚本以当前环境权限运行 因此 我决定通过安装沙箱在新的上下文中运
  • 使用 Java 进行 MongoDB 查询。计算数组中的匹配项

    我在 Mongo 中存储了类似于以下内容的数据 LIST NAME a VALUE z NAME b VALUE y NAME c VALUE x NAME d VALUE w NAME e VALUE v NAME f VALUE u N
  • 奇怪的不完整类型不允许错误

    考虑下面的代码 struct dummy1 int b dummy1 struct dummy dummy1 a int c dummy int main dummy foo foo a 0 b 5 foo a 1 b 6 return 0
  • FTP 下载冻结整个应用程序

    我正在尝试从 FTP 服务器下载一个大约 100 MB 的文件 这是一个测试 bin 文件 因为我正在测试该应用程序 我猜我将来想要下载的文件会更重 当我想下载文件时 整个应用程序就会冻结 几秒钟后它就会下载文件 该文件已完成 并且已成功下
  • 在 Android 中存储和访问 XML 的最佳方式是什么?

    虽然我意识到资源本身是在 XML 文件中定义的 但如果我有一个我希望使用的自己类型的 XML 文件 我是否应该将它们存储在 res xml 中 有没有更好的方法来做到这一点 例如使用资产 然后将它们加载为二进制文件以供另一个 XML 库解析
  • 插入行 python gdata.spreadsheets.client

    我对专门用于谷歌电子表格的 python gdata API 有点困惑 使用 gdata spreadsheet service 可以很容易地组合一个字典并将其作为新行插入到谷歌电子表格中 如下所示http www mattcutts co