gpt4 book ai didi

python - 是否可以像在 GUI 中一样通过 Excel 公式填写整个列? #gspread

转载 作者:行者123 更新时间:2023-12-04 20:22:09 26 4
gpt4 key购买 nike

有可能吗? gspread 库以在 GUI 中通过 Excel 公式填充整个列,而不通过每一行?
目前,我正在使用以下方法:

def _update_formula(sheet):
for i in range(2, 100):
sheet.update_acell(f'AL{i}', f'=if(B{i}=B{i+1},1,0)')
例如,是否可以像在 GUI 中一样添加 1 行并复制其余行的公式。您对如何优化它有任何想法吗?

最佳答案

我相信你的目标如下。

  • 你想把公式 =if(B{i}=B{i+1},1,0)到特定列中的所有单元格。
  • 您想使用 gspread for python 来实现这一点。

  • 在您的脚本中,您使用 '=if(B{i}=B{i+1},1,0' 的公式.但在这种情况下,它可能是 '=if(B{i}=B{i+1},1,0)' .在这种情况下,下面的修改脚本怎么样?在此修改中,公式是使用 batchUpdate 方法的 RepeatCellRequest 放置的。
    修改后的脚本:
    spreadsheetId = "###" # Please set your Spreadsheet ID.
    sheetName = "###" # Please set your sheet name.

    spreadsheet = client.open_by_key(spreadsheetId) # or client.open("###Spreadsheet title###")
    sheet = spreadsheet.worksheet(sheetName)
    requests = {
    "repeatCell": {
    "cell": {
    "userEnteredValue": {
    "formulaValue": "=if(B1=B2,1,0)"
    }
    },
    "range": {
    "sheetId": sheet.id,
    "startColumnIndex": 2,
    "endColumnIndex": 3,
    "startRowIndex": 1
    },
    "fields": "userEnteredValue.formulaValue"
    }
    }
    res = spreadsheet.batch_update({"requests": [requests]})
  • "startColumnIndex": 2"endColumnIndex": 3range表示“C”列。
  • "startRowIndex": 1range没有endRowIndex表示公式从第 2 行放到行尾。
  • 关于 GridRange,您可以在 the official document 查看.

  • 引用:
  • batch_update(body)
  • RepeatCellRequest
  • 关于python - 是否可以像在 GUI 中一样通过 Excel 公式填写整个列? #gspread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70210840/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com