google spreadsheets gspread append_row issue

Lio*_*ahi 3 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)
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?这是一个已知的问题?如何确定append_row函数成功完成?

BFT*_*FTM 7

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

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

sheet.resize(1)
Run Code Online (Sandbox Code Playgroud)

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


Alo*_*man 6

我在@BFTM的回答中添加:

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