繁体   English   中英

使用 python 更新电子表格时出错,Google Seets API,v4:参数“范围”有多个值

[英]ERROR while updating Spreadsheet using python, Google Seets API, v4: got multiple values for argument 'range'

我正在尝试使用 Python、Google Seets API、v4 更新整个电子表格。

我根据 API 做了一个 function 来更新数据库,但给了我以下错误:

TypeError: update_values() got multiple values for argument 'range'

这些功能的结构如下:

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')))

执行 function 如下:

def update(self,values):
    pprint(self.SHEET_NAME[1])
    self.gsheets.update_values(self,
                               range='{}!A1:AD2000'.format(self.SHEET_NAME[1]),
                               values=values
                               )

了解代码的附加数据:

SHEET_NAME[1]='sheet_x'

gsheets.update_values是 class gsheets 中的第一个 function gsheets update_values()

range='{}!A1:AD2000'.format(self.SHEET_NAME[1]

看起来update_values是一种方法,并且您在 self.gsheets 中有一个self.gsheets的实例。 Python 在调用实例方法时自动添加self 当您调用update_values(self, range=..., ...)时,您输入的self实际上是第二个参数“range”。 只需保留该参数即可。

self.gsheets.update_values(range='{}!A1:AD2000'.format(self.SHEET_NAME[1]),
                           values=values
                           )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM