Python gspread 超链接添加 '

Tan*_*nne 3 python gspread google-sheets-api

我想向单元格添加超链接。我正在使用以下代码:

cell_values = [1,'=HYPERLINK("' + some_url + '","' + some_text + '")',3]
for i, val in enumerate(cell_values):
  cell_list[i].value = val
worksheet.update_cells(cell_list)
Run Code Online (Sandbox Code Playgroud)

单元格中打印的内容:

'=HYPERLINK("someLink","someText")
Run Code Online (Sandbox Code Playgroud)

单元格的格式应该是超链接,但是单元格的值'前面写了一个,这就破坏了公式的使用。

Tan*_*ike 8

我认为您的问题的原因是由于value_input_option='RAW'默认值。当我看到gspread的文档时,似乎value_input_optionupdate_cells(cell_list, value_input_option='RAW')作为RAW默认值。在本例中,该值作为字符串放置。这样,单引号就被添加到字符的顶部。

为了作为=HYPERLINK("someLink","someText")公式,请使用 的值USER_ENTERED代替RAW。所以当你的脚本修改时,请修改如下。

从:

worksheet.update_cells(cell_list)
Run Code Online (Sandbox Code Playgroud)

到:

worksheet.update_cells(cell_list, value_input_option='USER_ENTERED')
Run Code Online (Sandbox Code Playgroud)

参考:

  • update_cells(cell_list, value_input_option='RAW')
  • 值输入选项
    • RAW:用户输入的值不会被解析并按原样存储。
    • USER_ENTERED:这些值将被解析,就像用户将它们输入到 UI 中一样。数字将保留为数字,但字符串可能会转换为数字、日期等,遵循通过 Google 表格 UI 在单元格中输入文本时应用的相同规则。