我不确定这是否可行。我有大量的电子表格,公式需要更新。如何将公式从一个单元格或一组单元格复制到另一个单元格?我使用了gspread
,似乎它只能做值。我需要python来基本上在几百张纸上粘贴公式,而不是我单独打开每个并复制和粘贴公式。
是否有人有复制和粘贴公式的通用解决方案?这非常重要,你会认为有人可以做到。
答案 0 :(得分:2)
以下是您的工作方式:
# Get the formula value from the souce cell:
formula = wks.acell('A2', value_render_option='FORMULA').value
# Update the target cell with formula:
wks.update_acell('B3', formula)
(这是因为gspread 3.0.0使用了Sheets API v4。)
要访问公式值,您需要使用单元格对象的input_value
属性。
这是一个例子。 (我正在跳过初始化步骤。假设您已经打开了电子表格,wks
指的是worksheet object。)
# To copy a formula from a single cell (say, A2) to another cell (B3)
# use the input_value property
formula = wks.acell('A2').input_value
# then paste the value to a new cell
wks.update_acell('B3', formula)
对于一组单元格,您希望使用wks.range()
方法来获取单元格对象。然后,您可以通过input_value
获取公式值,如上面的代码所示。请参阅GitHub上的the example。