使用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
相关产品推荐
相关产品推荐

