问题标签 [gspread]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
454 浏览

python - 一段时间后Python Gspread 401错误

我正在尝试编写一个程序来获取我在谷歌电子表格中记录的统计数据,并将它们写入一个文本文件,以便在流中读取和显示。该程序在大多数情况下运行良好,但每隔一段时间它就会崩溃并出现以下情况。它看起来像一个 oauth 问题,但我不确定我做错了什么。

这是我的代码:

0 投票
4 回答
4141 浏览

python - 如何清除gspread中的列?

我在 python 脚本中使用 gspread 并且我一直在尝试找到一种快速清除给定工作表中的列的方法。

问:如何使用 gspread 清除列?

0 投票
0 回答
101 浏览

macos - OSX 10.11.3 上的 Python 2.7.11 给出 Segmentation fault: 11 with package gspread

我正在使用该程序包gspread与 python 2.7 和 OSX 10.11 上的谷歌电子表格进行交互,我得到分段错误:11。但是,尽管出现了这个错误,我仍然能够下载谷歌电子表格内容。

这是错误的示例。

在输入 y 退出和实际退出之间需要几秒钟。我不确定这是否表明了什么

这是完整的崩溃报告

0 投票
2 回答
8229 浏览

python - 如何使用 python 从 Google 电子表格中获取工作表 ID?

我想确定一种方法来获取 Google 电子表格工作簿中每个工作表的 URL 中的工作表 ID。例如,此工作簿的 'sheet2' 的工作表 ID是 '1244369280' ,因为它的 url 是https://docs.google.com/spreadsheets/d/1yd8qTYjRns4_OT8PbsZzH0zajvzguKS79dq6j--hnTs/edit#gid=1244369280

我发现的一种方法是提取 Google 电子表格的 XML,因为根据这个问题,获取工作表 ID 的唯一方法是流式传输工作表的 XML,但该示例是用 Javascript 编写的,我需要在 Python 中执行此操作

这是我想在 Python 中执行的 Javascript 代码:

似乎从 Google 电子表格获取 XML 的最佳方式是使用 Gdata,因此我下载了 GData 并使用我的凭据尝试了 Google 电子表格示例。

见下文

但是,这会返回以下错误:

我还应该提到,我一直在使用 Gspread 作为与 Google 电子表格交互的方法,但是当我运行下面的代码时,我得到了 gid,但我需要有工作表 id。

0 投票
1 回答
2781 浏览

python - gspread从python没有属性'update_acell'填充谷歌电子表格

我整个早上都在用 python 脚本在谷歌电子表格中填充一个单元格。在运行了几个过时的教程后,我可以使用这个脚本打开电子表格

我已经尝试了来自不同教程的几个示例,但我找不到为什么继续给出这个错误:

AttributeError:“电子表格”对象没有属性“update_acell”

有人建议吗?

0 投票
1 回答
485 浏览

python - 如何使用 python gspread 调试持久的“SpreadsheetNotFound”错误

在阅读 gspread 文档、gspread 博客文章并关注使用 gspread 的最新文档2 天后,我仍然无法打开甚至一个 Google 电子表格。我设置了一个 GDrive API 服务帐户。看来我的 OAuth2 凭据正在工作,但我仍然不断收到“SpreadsheetNotFound”错误。

我的代码看起来像这样,并且在尝试打开 Google 电子表格之前运行时没有错误消息:

是的,我已将我的 gmail 电子邮件地址添加为授权编辑(无论是否尝试过),因为服务帐户无论如何都应该能够访问我的所有数据,并且我正在与自己重新共享我的电子表格。

我还能尝试什么来发现它失败的原因?关于如何调试为什么它无法打开任何电子表格的任何想法?

好的,这就是我解决它的方法。 不得不与 Google Drive API 服务帐户“电子邮件地址”(例如 my.test.data@python-xyz-gspreadsheets.iam.gserviceaccount.com)共享我的电子表格——(以为这是我的“真实”gmail ID/电子邮件,但事实并非如此)

为了调试提要... 在 gspread client.py 源代码中添加了一些 print() 行,以查看提要中是否有任何内容,并检查提要中的值。注意到我得到的值是旧值(来自以前的脚本?)

关闭并重新启动我的 iPython 笔记本,它现在可以工作了。

0 投票
1 回答
257 浏览

google-spreadsheet-api - 通过 gspread 原子附加到谷歌电子表格

附加的意义不是简单地使用append_row,它将在电子表格本身的末尾写入,但在其他用户可能附加的内容的末尾(例如来自谷歌驱动器)。

可能吗?gspread 是否支持说锁定文件(或将某些行锁定为不可编辑)。我浏览了他们的文档,但没有发现任何界面似乎相关。

如果没有,是否有任何图书馆可以做到这一点?

0 投票
1 回答
529 浏览

python - 更新google auth2后gspread保持活动状态

“保持与谷歌电子表格的联系”有几个例子,但我发现的都是基于“旧”谷歌登录系统,该系统自 2015 年 4 月以来不再工作

使用 OAuth 2.0 保持与 googlespreadsheet 的连接的正确方法是什么

我试过这个

结果:c = gspread.authorize(auth=credentials,http_session=headers) TypeError: authorize() got an unexpected keyword argument 'auth'

0 投票
1 回答
8034 浏览

python - 使用 gspread 创建工作表

我是 python 新手。我只是想使用 gspread 创建一个谷歌工作表。我从这里阅读了有关使用 google api 的信息。我从Google Developers Console下载了凭据,这是一个 json 格式的文件。然后我使用了这段代码

'Client' object has no attribute 'add_worksheet'但是尽管我阅读了包含此属性的文档,但它会引发错误。这是我遵循的链接。请帮我解决这个问题。

0 投票
1 回答
85 浏览

python - 从实时 Google 表格中提取数据并通过电子邮件发送

我需要从 Google 表格中提取用户名和扩展名,然后每周通过电子邮件将其发送给用户。我写了一个非常不优雅的解决方案,我将附在下面。我敢肯定,通过编写良好的循环和一些逻辑可以大大减少它。我会很感激朝着正确的方向轻推。两天前我开始在零编程知识的情况下工作,所以请原谅任何明显的错误!

EMAIL 问题:我需要在每个主题行中输入每个 row_number([3])+'obfuscated.com',然后将 row_number([1]) 插入每个正文。

编辑:为澄清起见,我只是手动手动写入每行变量。用户数量每周都在变化,但我最多写了四十个,因为它永远不会超过这个数量。

对不起 - 这是 .csv https://www.dropbox.com/s/i5p3m32m2huiffr/example-march.csv?dl=0

@Racialz - 我需要附加“@obfuscated.com”的用户名和个人扩展名作为我可以插入到许多电子邮件中的变量。