谷歌电子表格gspread append_row issu

2024-06-06 13:19:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个程序,生成一个动态的谷歌电子表格报告。

有时,当我使用gspreadappend_row函数在google电子表格中创建一个新行(带数据)时,它无法按预期工作,也不会引发异常。新行已添加,但其中没有数据。

示例代码如下:

#!/usr/bin/python
import gspread

# report line data
report_line = ['name', 'finished <None or int>', 'duration <str>', 'id']

connection = gspread.login('email@google.com', 'password')
spreadsheet = connection.open('report_name')
sheet = spreadsheet.sheet1
sheet.append_row(report_line)

我遗漏了什么吗?这是已知的问题吗? 如何确保append_row函数成功完成?


Tags: 数据函数name程序reportgoogleline动态
2条回答

它在工作表的最后一行之后追加一个新行。默认情况下,工作表有1000行,因此应该在index=1001处找到附加的行。

尝试将工作表大小调整为当前的行数:

sheet.resize(1)

现在,您应该能够在数据的末尾而不是在工作表的末尾追加行。行数必须为>;=1。

我在给@BFTM的答案加上:

  1. 确保您只执行一次sheet.resize(1),而不是每次您想添加附加行时(它将删除您在1之后写入的所有行)
  2. 若要动态获取行数,以防您不知道如何手动执行,可以查看此answer。(从一列中获取值并查找长度)
  3. 如果您有对电子表格的直接访问,只需删除一次空行,然后像往常一样使用append_row()

相关问题 更多 >