You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python更新Google Sheets单元格公式时自动添加单引号导致公式失效的问题求助

使用Python更新Google Sheets单元格公式时自动添加单引号导致公式失效的问题求助

我刚接触编程,英语水平也有限,但一直在尽全力学习。最近我写了一段Python代码,目标很明确:爬取Steam市场的数据,用二维列表整理后同步到Google Sheets中,同时还要添加一个计算公式:(市场价格)*(数量)。

现在遇到了一个棘手的问题:往表格里插入公式时,Python代码总是自动给公式加上单引号,导致公式变成了纯文本字符串,完全无法生效计算。

最开始我以为问题出在update.append方法上,于是专门写了一个独立的函数来处理公式更新:

def update_formulas(sheet, data):
    print("Updating formulas...")
    for idx in range(2, len(data) + 2):
        formula = f"=B{idx}*C{idx}"
        print(f"Updating formula in D{idx}: {formula}")
        sheet.update(range_name=f"D{idx}", values=[[formula]])
    print("Formulas updated successfully.")

但问题依然存在,表格里的D2到D5单元格中的公式都被加上了单引号,变成了无法计算的文本内容。

补充一下背景:这段代码是我借助ChatGPT生成的,之后我自己也研究了用到的库和相关命令,才尝试写出了这个单独的公式更新函数,但还是没能解决问题。

我怀疑是不是直接引用单元格的写法有问题?比如=B{idx}*C{idx}这种形式,但我实在不知道该怎么修改它。

我已经尝试过这些解决方法:

  • 更换更新命令,原本用的是update.sheet,后来换成了update.append
  • 将公式更新逻辑单独抽成函数,避免被识别成普通字符串
    但所有尝试都失败了。

我知道可以直接在Google Sheets里手动添加公式,但我更希望能在Python代码层面解决这个问题。另外,我特别希望使用单元格引用来编写公式,而不是直接用代码中已经获取到的price*quantity计算结果(虽然我也可以用代码里的price和quantity值直接计算后写入,但还是更倾向于用单元格引用的方式)。

备注:内容来源于stack exchange,提问作者user26544227

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:28:09