找到的单元名称与Google表格中的名称不同

问题描述 投票:0回答:1

我正在使用gspread编辑我的Google工作表,但是在调用单元格名称时遇到了一些麻烦。


我使用此代码来查找并显示单词'LOCATE'在哪个单元格中:

cell_list = worksheet.findall('LOCATE')
print(cell_list)

获得结果:

[<Cell R12C1 'LOCATE'>]

我正在使用单元格'A12'进行测试,所以我看到'R12C1'代表第12行第1列我已经成功地使用以下代码写入该单元格:

worksheet.update_acell('A12', "TEST")

但是,如果我尝试使用此代码测试编辑单元格“ R12C1”,则将无法正常工作:

worksheet.update_acell('R12C1', "TEST")

有没有一种方法可以让我返回'findall'函数和'A12'样式单元格名称?


我现在正在使用它,但感觉有点草率,想知道是否有人提供任何技巧?

alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
deconstruct = str(cell_list[0:1])
row_value = deconstruct[8:10]
col_value = alphabet[(int(deconstruct[11:13])-1)]
cell = col_value + row_value
worksheet.update_acell(cell, "TEST")
gspread
1个回答
0
投票

这个答案怎么样?

[当我看到the script of gspread时,findall使用Sheets API的sheets.values.get方法检索工作表的值,并从检索到的值(二维数组)中搜索值。因此,在这种情况下,像元的坐标将作为R1C1类型返回。如果您想检索A1Notation,我认为您的脚本可能会有用。

为了使用findall检索的值,如果您想使脚本更简单,如何使用update_cellupdate_cells而不是update_acell?在这种情况下,示例脚本如下。

示例脚本:

在以下示例脚本中,它假定工作表具有一个包含LOCATE值的单元格。

模式1:

在此模式下,从cell_list中检索像元坐标。

cell_list = worksheet.findall('LOCATE')

value = cell_list[0]
worksheet.update_cell(value.row, value.col, 'TEST')

模式2:

在此模式下,更新由findall检索的单元格。

cell_list = worksheet.findall('LOCATE')

cell_list[0].value = 'TEST'
worksheet.update_cells(cell_list)

注:

  • 这些示例脚本假定您已经能够使用gspread放置和获取Spreadsheet的值。

参考文献:

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

© www.soinside.com 2019 - 2024. All rights reserved.