Python gspread 超链接添加 '
Python gspread Hyperlink adds '
我想向单元格添加超链接。我正在使用以下代码:
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)
打印到单元格中的内容:
'=HYPERLINK("someLink","someText")
单元格应该格式化为超链接,但是单元格的值前面写了一个'
,破坏了公式的使用。
我认为您正在使用 Excel 的内置超链接功能,它看起来应该像
'=HYPERLINK("{}", "{}")'.format(link, "Link Name")
我建议您使用 f-string 或 .format 将变量插入到字符串中。我想在你的代码中你使用了 ' + some_url + '
应该是 ''' + some_url + '''
我认为您出现问题的原因是 value_input_option='RAW'
作为默认值。我看gspread的文档,好像是update_cells(cell_list, value_input_option='RAW')
的value_input_option
默认是RAW
。在这种情况下,该值作为字符串放置。这样,单引号被添加到字符的顶部。
为了将=HYPERLINK("someLink","someText")
作为公式,请使用USER_ENTERED
的值代替RAW
。所以当你的脚本修改时,请修改如下。
发件人:
worksheet.update_cells(cell_list)
收件人:
worksheet.update_cells(cell_list, value_input_option='USER_ENTERED')
参考文献:
- update_cells(cell_list, value_input_option='RAW')
- ValueInputOption
RAW
: The values the user has entered will not be parsed and will be stored as-is.
USER_ENTERED
: The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI.
我想向单元格添加超链接。我正在使用以下代码:
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)
打印到单元格中的内容:
'=HYPERLINK("someLink","someText")
单元格应该格式化为超链接,但是单元格的值前面写了一个'
,破坏了公式的使用。
我认为您正在使用 Excel 的内置超链接功能,它看起来应该像
'=HYPERLINK("{}", "{}")'.format(link, "Link Name")
我建议您使用 f-string 或 .format 将变量插入到字符串中。我想在你的代码中你使用了 ' + some_url + '
应该是 ''' + some_url + '''
我认为您出现问题的原因是 value_input_option='RAW'
作为默认值。我看gspread的文档,好像是update_cells(cell_list, value_input_option='RAW')
的value_input_option
默认是RAW
。在这种情况下,该值作为字符串放置。这样,单引号被添加到字符的顶部。
为了将=HYPERLINK("someLink","someText")
作为公式,请使用USER_ENTERED
的值代替RAW
。所以当你的脚本修改时,请修改如下。
发件人:
worksheet.update_cells(cell_list)
收件人:
worksheet.update_cells(cell_list, value_input_option='USER_ENTERED')
参考文献:
- update_cells(cell_list, value_input_option='RAW')
- ValueInputOption
RAW
: The values the user has entered will not be parsed and will be stored as-is.USER_ENTERED
: The values will be parsed as if the user typed them into the UI. Numbers will stay as numbers, but strings may be converted to numbers, dates, etc. following the same rules that are applied when entering text into a cell via the Google Sheets UI.