首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用python、Google Seets API、v4更新电子表格时出错:获取参数'range‘的多个值

使用python、Google Seets API、v4更新电子表格时出错:获取参数'range‘的多个值
EN

Stack Overflow用户
提问于 2020-12-10 01:07:34
回答 1查看 37关注 0票数 0

我正在尝试更新一个完整的电子表格使用Python,谷歌种子API,v4。

我基于API创建了一个函数来更新数据库,但给出了以下错误:

代码语言:javascript
运行
复制
TypeError: update_values() got multiple values for argument 'range'

这些函数的结构如下:

代码语言:javascript
运行
复制
def update_values(self, range, values):
    '''
    documentation: https://developers.google.com/sheets/api/guides/values
    values = [
        [
            # Cell values ...
        ],
        # Additional rows ...
    ]
    '''
    body = {
        'values': values
    }
    result = self.service.spreadsheets().values().update(
        spreadsheetId=self.sheet_id,
        range=range,
        valueInputOption='USER_ENTERED',
        body=body).execute()
    print('{0} cells updated.'.format(result.get('updatedCells')))

执行函数如下:

代码语言:javascript
运行
复制
def update(self,values):
    pprint(self.SHEET_NAME[1])
    self.gsheets.update_values(self,
                               range='{}!A1:AD2000'.format(self.SHEET_NAME[1]),
                               values=values
                               )

理解代码所需的其他数据:

代码语言:javascript
运行
复制
SHEET_NAME[1]='sheet_x'

gsheets.update_values是类gsheets中的第一个函数update_values()

代码语言:javascript
运行
复制
range='{}!A1:AD2000'.format(self.SHEET_NAME[1]
EN

Stack Overflow用户

回答已采纳

发布于 2020-12-10 01:15:35

看起来update_values是一个方法,并且在self.gsheets中有它的类的一个实例。Python会在调用实例方法时自动添加self。当你调用update_values(self, range=..., ...)时,你放入的self实际上是第二个参数“self”。只需省略该参数。

代码语言:javascript
运行
复制
self.gsheets.update_values(range='{}!A1:AD2000'.format(self.SHEET_NAME[1]),
                           values=values
                           )
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65221525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档