找到的单元格名称与 Google 工作表中的单元格名称不同
Found cell name isn't the same as the on in Google sheets
我正在使用 gspread 编辑我的 google sheet 但我在调用单元格名称时遇到了一些问题。
我使用此代码查找并显示单词 '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' 函数 return 和 '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")
这个答案怎么样?
当我看到the script of gspread时,findall
使用Sheets API的spreadsheets.values.get方法检索sheet的值,并搜索该值来自检索到的值,它是一个二维数组。所以在这种情况下,单元格的坐标作为 R1C1 类型返回。如果您想检索 A1Notation,我认为您的脚本会很有用。
为了使用findall
检索到的值,如果你想让脚本更简单,用update_cell
或update_cells
代替[=16=怎么样? ]?在这种情况下,示例脚本如下。
示例脚本:
在下面的示例脚本中,假设作品sheet 有一个单元格包含 LOCATE
的值。
模式 1:
在此模式中,单元格坐标是从 cell_list
中检索的。
cell_list = worksheet.findall('LOCATE')
value = cell_list[0]
worksheet.update_cell(value.row, value.col, 'TEST')
模式二:
在此模式中,更新了 findall
检索到的单元格。
cell_list = worksheet.findall('LOCATE')
cell_list[0].value = 'TEST'
worksheet.update_cells(cell_list)
注:
- 这些示例脚本假定您已经能够使用 gspread 为 Spreadsheet 设置和获取值。
参考文献:
- gspread/models.py
- update_acell(label, value)
- update_cell(row, col, value)
- update_cells(cell_list, value_input_option='RAW')
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
我正在使用 gspread 编辑我的 google sheet 但我在调用单元格名称时遇到了一些问题。
我使用此代码查找并显示单词 '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' 函数 return 和 '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")
这个答案怎么样?
当我看到the script of gspread时,findall
使用Sheets API的spreadsheets.values.get方法检索sheet的值,并搜索该值来自检索到的值,它是一个二维数组。所以在这种情况下,单元格的坐标作为 R1C1 类型返回。如果您想检索 A1Notation,我认为您的脚本会很有用。
为了使用findall
检索到的值,如果你想让脚本更简单,用update_cell
或update_cells
代替[=16=怎么样? ]?在这种情况下,示例脚本如下。
示例脚本:
在下面的示例脚本中,假设作品sheet 有一个单元格包含 LOCATE
的值。
模式 1:
在此模式中,单元格坐标是从 cell_list
中检索的。
cell_list = worksheet.findall('LOCATE')
value = cell_list[0]
worksheet.update_cell(value.row, value.col, 'TEST')
模式二:
在此模式中,更新了 findall
检索到的单元格。
cell_list = worksheet.findall('LOCATE')
cell_list[0].value = 'TEST'
worksheet.update_cells(cell_list)
注:
- 这些示例脚本假定您已经能够使用 gspread 为 Spreadsheet 设置和获取值。
参考文献:
- gspread/models.py
- update_acell(label, value)
- update_cell(row, col, value)
- update_cells(cell_list, value_input_option='RAW')
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。