lvk*_*vkv 2 python google-spreadsheet-api gspread google-sheets-api
现在,我正在使用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
Run Code Online (Sandbox Code Playgroud)
但是,当我填写电子表格时,我的命令前面会带有撇号(大概是为了防止该单元格被解释为公式,尽管这正是我想要的操作)。
这是我的电子表格中的一个示例:
有没有一种方法可以自动删除此撇号?
我研究了值呈现选项和input_value,尽管这些选项似乎不适用于写入工作表。
问题是更新单元格时没有指定值输入选项。就我而言,解决方案如下所示:worksheet.update_cells(cell_list, value_input_option='USER_ENTERED')请注意value_input_option标志,必须将其设置为,'USER_ENTERED'以便像在Google Sheets UI中输入单元格一样对其进行更新。
小智 5
我遇到了类似的问题,但希望仅使用公式更新单个单元格。我找到了几种方法来做到这一点:
# '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")
Run Code Online (Sandbox Code Playgroud)
将会产生以下结果
| 归档时间: |
|
| 查看次数: |
1360 次 |
| 最近记录: |