有没有办法在gspread api中使用.find更新与我搜索的单元格相邻的单元格的python

时间:2019-07-05 19:32:00

标签: python gspread

我正在尝试使用gspread中的.find功能来定位一个单元格并更新它旁边的单元格。

我有一些利用gspread api的python代码。 Google表格有“名称”和“颜色”列。我可以使用.find功能搜索名称为“ Joe”的单元格,但是我需要使用另一个名为“ color”的变量来更新“颜色”列中单元格“ Joe”旁边的单元格。

#Define the variables
name = 'Joe'
color = 'Blue'

# Search the google sheet to find the location of the cell named 'Joe'
sheet.find(name)
# Update the cell next to the location of the cell named 'Joe' with the color variable.
sheet.update(name, color)

我认识到sheet.update(name,color)是不正确的,但不确定如何表达我的意图。我检查了gspread文档,但是没有运气。也许还有另一种我可能不知道的方法可以达到这个结果。

1 个答案:

答案 0 :(得分:1)

  • 您要将color的值放在name的下一个单元格中。
    • 关于the cell next to the location of the cell named 'Joe',当Joe为“ B2”时,您想将color的值设置为“ C2”。
  • 您已经能够使用gspread更新单元格。

如果我的理解是正确的,那么该修改如何?在此修改中,从sheet.find(name)返回的值中检索坐标。然后,使用color放入update_cell()

修改后的脚本:

name = 'Joe'
color = 'Blue'

cell = sheet.find(name)  # Modified
sheet.update_cell(cell.row, cell.col + 1, color)  # Modified

注意:

  • Joe为“ B2”时,如果要将color的值设置为“ B1”,请使用以下脚本。
    • sheet.update_cell(cell.row - 1, cell.col, color)
  • Joe为“ B2”时,如果要将color的值放入“ B3”,请使用以下脚本。
    • sheet.update_cell(cell.row + 1, cell.col, color)
  • Joe为“ B2”时,如果要将color的值放入“ A2”,请使用以下脚本。
    • sheet.update_cell(cell.row, cell.col - 1, color)

参考文献:

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。