如何使用python将公式从一个gsheet复制到另一个gsheet?

时间:2017-02-01 23:58:41

标签: python google-sheets gspread

我不确定这是否可行。我有大量的电子表格,公式需要更新。如何将公式从一个单元格或一组单元格复制到另一个单元格?我使用了gspread,似乎它只能做值。我需要python来基本上在几百张纸上粘贴公式,而不是我单独打开每个并复制和粘贴公式。

是否有人有复制和粘贴公式的通用解决方案?这非常重要,你会认为有人可以做到。

1 个答案:

答案 0 :(得分:2)

2018年7月19日更新:

以下是您的工作方式:

# 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