【问题标题】:How to use range in google sheet api?如何在google sheet api中使用范围?
【发布时间】:2021-11-15 13:41:52
【问题描述】:

我想从 B3 添加一个新值。

B1:E1是从B的第一行到E的第一行。

B:E是从B的开头到E的结尾。

我想知道当范围是 B:E, B1:E1 时有什么区别。

当 A 列中有值时,新值附加到 A 的末尾。

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append

service = discovery.build('sheets', 'v4', credentials=credentials)
spreadsheet_id = 'my-spreadsheet-id
range_ = 'sheet1!B:E' vs'sheet1!B1:E1'  # Questions
value_input_option = ''
insert_data_option = ''

value_range_body = {

}

request = service.spreadsheets().values().append(spreadsheetId=spreadsheet_id, range=range_, valueInputOption=value_input_option, insertDataOption=insert_data_option, body=value_range_body)
response = request.execute()

pprint(response)

【问题讨论】:

    标签: python-3.x google-sheets-api spreadsheet


    【解决方案1】:

    API 将通过检查相邻单元格的内容来检查提供的范围是否是数据表的一部分。如果区域及其相邻单元格都包含数据,则该区域被视为数据表的一部分。 (在您的示例中,数据表为 A1:E10

    由于 B:EB1:E1 在单元格 B1 中有数据,并且 B1A1 单元格的数据,该范围被认为是 A1:E 数据表的一部分。这会导致 API 将数据附加到 A 列。

    您可以通过创建另一个工作表来验证这一点,仅填充单元格 B1:E2 并执行 API。

    示例:

    这里我使用 B:E 作为范围

    在执行 Append API 之前:

    执行 Append API 后

    在您的情况下,您需要明确定义范围 (B3:E3) 中的行号,并且该范围必须为空,否则会将其数据附加到所提供范围下方的第一个空行。

    参考:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多