【问题标题】:How we can use "Google Sheet API" to update the sheet with new data using Python我们如何使用“Google Sheet API”使用 Python 使用新数据更新工作表
【发布时间】:2019-12-29 18:50:47
【问题描述】:

【问题讨论】:

  • 您是在问如何获取下一个可用/未使用的行吗?
  • 是的,例如:如果填充了 10 行,那么我需要从第 11 行添加更多数据,旧数据不应该受到影响。

标签: python google-sheets-api gspread


【解决方案1】:
def nextAvailableRow(worksheet):
    rowsUsed = len(filter(None, worksheet.col_values(1)))
    return rowsUsed+1

此函数应将工作表作为参数并输出下一个未使用的可用行。它接受第一列的所有值,然后过滤掉所有空行以查找已使用的行数。

【讨论】:

  • 我用的是google sheet,你说的worksheet是什么意思?
  • 如果您还没有,我建议您使用 gspread,因为它提供更多功能和更多功能
【解决方案2】:

如果您只想在带有值的最后一行之后插入新数据,您可以使用spreadsheets.values.append 端点来完成(注意您可以在“try this API”处使用 API,还有一个 Python example )

spreadsheet_id = 'your-spreadSheet-id'
ranges = "A1:A" # It will get the indo until the last row with data
value_render_option = "DIMENSION_UNSPECIFIED"
value_input_option = "USER_ENTERED"

# Body for the request 
value_range_body = {
        "values": [
            [
                "A11",
                "B11"
            ],
            [
                "A12",
                "B12"
            ]
        ],
        "majorDimension": "DIMENSION_UNSPECIFIED"
}

 request = service.spreadsheets().values()\
        .append(spreadsheetId=spreadsheet_id, range=ranges, valueInputOption=value_input_option, body=value_range_body)

request.execute()

values 中的外部数组将表示行,内部数组表示列,正如您在我的代码的示例正文中看到的那样。

注意:在另一个答案中,有人建议您使用第三个库,而不是 Google Sheet's client library for Python。我建议您使用 Google 官方库,因为它保证会受到 Google 的支持。

【讨论】:

    猜你喜欢
    • 2020-07-22
    • 2023-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 2023-01-29
    相关资源
    最近更新 更多