现在,我正在使用gspread和Google Sheets API更新单元格值,将cell.value
设置为等于特定公式的字符串。
示例代码:
# Calculates sum of cells in current row from column B to H
G_SHEETS_ROW_SUM_COMMAND = '''=SUM(INDIRECT(CONCATENATE("B",ROW(),":H",ROW())))'''
for cell in cell_list:
cell.value = G_SHEETS_ROW_SUM_COMMAND
然而,当我的电子表格被填充时,我的命令会加上一个撇号作为前缀(大概是为了防止单元格被解释为公式,尽管这正是我希望它这样做的)。
下面是我的电子表格中的一个示例:
有没有办法自动删除这个撇号?
我已经研究了值呈现选项和input_value,尽管这些选项似乎不适用于写入工作表。
发布于 2018-06-02 01:31:49
问题是我在更新单元格时没有指定值输入选项。在我的例子中,解决方案是这样的:worksheet.update_cells(cell_list, value_input_option='USER_ENTERED')
注意value_input_option标志,它必须设置为'USER_ENTERED'
,这样单元格就会更新,就像它们是在Google Sheets UI中输入的一样。
发布于 2021-12-23 18:50:02
我也遇到过类似的问题,但我只是想使用公式更新单个单元格。我找到了几种方法:
# 'A1' notation
worksheet.update('A1', 7)
# raw=False is what does the trick.
worksheet.update('B1', "=A1 * 3", raw=False)
# Or if you prefer (row, col) notation
worksheet.update_cell(2, 1, 7)
worksheet.update_cell(2, 2, "=A2 * 3")
将导致以下结果:
https://stackoverflow.com/questions/50648249
复制相似问题