google spreadsheets gspread append_row issue

时间:2014-11-25 11:50:37

标签: python gspread

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

有时,当我使用gspread append_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函数成功完成?

2 个答案:

答案 0 :(得分:5)

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

尝试将工作表的大小调整为存在的行数:

sheet.resize(1)

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

答案 1 :(得分:0)

我要添加到@BFTM的答案中

  1. 确保您一次执行sheet.resize(1),而不是每次都要添加追加行(它将删除您写的超过1的所有行)
  2. 要动态获取行数,以防万一您不手动进行操作,可以查看此answer。 (从一列中获取值并找到长度)
  3. 如果您直接控制电子表格,则只需删除一次空行,然后照常使用append_row()