问题标签 [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 投票
3 回答
3298 浏览

python - 如何使用 gspread 将表格(列表列表)写入 Google 电子表格

gspread我有一个表格,它显示为 Python 的列表列表,我想使用库将它写到一些 Google 电子表格中。但是,gspread开箱即用似乎没有这样的功能。当然,我可以使用循环并更新特定的单元格,但这是非常低效的解决方案,因为它必须执行多个请求(每个单元格一个请求)。如何做得更好?

0 投票
0 回答
433 浏览

python - 使用 py2exe、pyinstaller 包含 gspread 模块

我创建了一个 python 应用程序,它从谷歌电子表格中获取数据并执行所需的操作并相应地输出带有数据的文件。该应用程序通过我的 ide 和控制台运行良好。我gspread and Tkinter分别用于访问谷歌表格和 GUI。

但是,当我尝试将其创建为 exe 时。我一直遇到错误。

首先我尝试使用 py2exe 但我不断收到错误
ImportError: No module named gspread
我的 setup.py 是

我用命令运行它python setup.py py2exe

我还使用该命令尝试了 pyInstaller pyinstaller app.py,但我得到了同样的错误。虽然在这种情况下,命令完全执行并创建了 exe,但是当我运行它时,控制台窗口会闪烁说
ImportError: No module named gspread

我还尝试使用 cx_freeze 创建可执行文件。我使用的命令是
python setup.py build_exe -s -p gspread,json,oauth2client.client,os

这会创建可执行文件,但出现错误

I\O operation failed

对于我的代码的第 187 行

我在第 187 行使用 try/except 块捕获的

0 投票
1 回答
1958 浏览

python - 我可以在 python 中使用 gspread 在 Google 电子表格中写整行吗?

我正在尝试编写一个简单的脚本,它将 csv 作为输入并将其写入单个电子表格文档中。现在我让它工作了,但是脚本很慢。在两个工作表中写下 cca 350 行大约需要 10 分钟。

这是我的脚本:

我是系统管理员,所以我提前为糟糕的代码道歉。

无论如何,脚本将从 csv 中逐行获取,用逗号分隔并逐个单元格写入,因此编写它需要时间。这个想法是让 cron 每天执行一次,它会删除旧条目并编写新条目——这就是我使用 resize() 的原因。

现在,我想知道是否有更好的方法来获取整个 csv 行并将其写入工作表中,每个值都在它自己的单元格中,避免像我现在一样逐个单元格地写入?这将大大减少执行它所需的时间。

谢谢!

0 投票
1 回答
608 浏览

python-2.7 - 使用 Python OAuth 客户端的“ValueError:无效控制字符”

我正在尝试将数据从谷歌电子表格加载到 postgres 数据库中。问题是当我尝试验证我的凭据时,我收到以下错误:

我已经按照Using OAuth2 for Authorization中的所有步骤,启用了 API 并创建了一个服务帐户,我从中获得了一个包含必要密钥和身份验证元素的 .json 文件。

我尝试进行身份验证的方式如下:

也许问题来自 json load 中的参数strict=False,问题是如果我删除它,会得到错误:

我看到了其他几个论坛,他们建议使用 strict=False 参数,因为 json 密钥文件中有非转义的 \n 。

这是 .json 密钥文件的副本:

0 投票
1 回答
5836 浏览

python - 与服务帐户电子邮件共享 Google 表格

我编写了一个脚本来连接到 Google 电子表格并将数据从中加载到 postgresql 数据库中。我已经创建了一个服务帐户并以 .json 格式为其获取了必要的凭据,问题是当我尝试与我的服务帐户电子邮件共享 google 表格时,我收到一封电子邮件说:

完全无法传送给下列收件人:

永久失败的技术细节:DNS 错误:geometry-shine-118101.iam.gserviceaccount.com 的地址解析。失败:未找到域名

该电子邮件与我在 .json 密钥文件中收到的电子邮件完全相同。我检查了其他帖子,通常应该共享的电子邮件结构是这样的:

但我的不一样,也许与此有关?我按照此链接上的说明进行操作。

这是 .json 密钥文件的副本:

0 投票
0 回答
490 浏览

python - gspread:SSLError:python中的[SSL:CERTIFICATE_VERIFY_FAILED]

我有几行代码一直运行良好,直到今天(使用 gspread)。每当我运行此代码时,我都会收到证书验证错误:

这可能是什么原因,我该如何解决?我一直在这里寻找解决方案:https ://github.com/burnash/gspread/issues/223

但不理解提供的解决方案。

编辑:这是回溯:

0 投票
1 回答
666 浏览

python - gspread 错误:SSLError:python 中的 [SSL:CERTIFICATE_VERIFY_FAILED]

我有几行代码一直运行良好,直到今天(使用 gspread)。每当我运行此代码时,我都会收到证书验证错误:

这可能是什么原因,我该如何解决?我一直在这里寻找解决方案:https ://github.com/burnash/gspread/issues/223

但不理解提供的解决方案。

这是回溯:

0 投票
1 回答
688 浏览

python - py2exe 缺少模块:oauth2client.client 和 gspread 模块

我使用 gspread 和 oauth2 模块创建了以下 Python 脚本

当我将此代码作为 .py 文件运行时,一切正常。但是,当我尝试使用 py2exe 将其打包成可执行的 Windows 程序时,我得到以下输出

因此,当我尝试运行生成的 exe 文件时,出现以下错误

似乎 py2exe 找不到 gspread 和 oauth2client.client 模块。这些模块安装在我的机器上。

有人知道为什么会这样吗?

谢谢。

尼古拉

0 投票
0 回答
211 浏览

google-sheets - 无法与 gserviceaccount 电子邮件 ID 共享 Google 电子表格 - gspread

我正在遵循以下教程http://gspread.readthedocs.org/en/latest/oauth2.html并且我被困在第 7 步,该步骤声明与 json ['client_email'] 共享电子表格。

我尝试这样做,但我收到一封电子邮件,说明 json['client_email] 的域未解析(DNS 错误 - 失败通知)。

我什至在 github 上打开了一个问题,但我没有得到回复https://github.com/burnash/gspread/issues/342所以我在这里尝试使用 gspread 标签

0 投票
1 回答
1153 浏览

python - python gspread oauth2client.client.HttpAccessTokenRefreshError: invalid_grant

根据下面的帖子#244来验证凭证,我们可以定义 GOOGLE_APPLICATION_CREDENTIALS 环境变量来直接进行身份验证。

这是我在代码中所做的。

但是当我运行它时,它会引发 oauth2client.client.HttpAccessTokenRefreshError: invalid_grant

关于如何解决这个问题的任何建议?

谢谢,