Gspread append_row 将数据附加到不同的列

kah*_*a00 2 python gspread

看到这里的输出

我正在使用 append_row 将数据添加到谷歌表...我不明白为什么会这样
#the code
def write_to_dangersheet(flow):
            credentials_file = "file.json"
            scope = ['https://spreadsheets.google.com/feeds',
                     'https://www.googleapis.com/auth/drive']
            credentials = ServiceAccountCredentials.from_json_keyfile_name(credentials_file, scope)
            gc=gspread.authorize(credentials)

            test_wb=gc.open_by_key('yyyyyyyyyyyyyy').worksheet('betaflow')

            f=[phonenumber,date," ",flow,]

            if flow=='webhook-test':
                test_wb.append_row(f)
        write_to_dangersheet(flow)
Run Code Online (Sandbox Code Playgroud)

Bur*_*ash 5

使用table_range参数 ofappend_row()显式指定表范围:

worksheet.append_row(['Test1', '', 'Test2'], table_range='A1')
Run Code Online (Sandbox Code Playgroud)

背景:

Worksheet.append_row()方法对应于 Sheets API spreadsheets.values.append

spreadsheets.values.append被调用时,它搜索逻辑“表”以附加一行值。值将附加到表格的下一行,从表格的第一列开始。

根据电子表格中的数据,可能有几个潜在的“表格”(通常由空列或空行分隔)。默认情况下append_row()不指定使用哪个“表”,而是让 Sheets API 隐式检测表。在有多个表的情况下,Sheets API 可以选择您不打算附加到的“表”。在这种情况下,您需要明确告诉 API 您要使用哪个逻辑“表”。

Google Sheets API v4 docs 的附加值部分有一个工作表中多个表的很好的例子。