gpt4 book ai didi

Python 返回#DIV/0!来自 Google 表格而不是公式结果

转载 作者:太空宇宙 更新时间:2023-11-03 21:14:21 24 4
gpt4 key购买 nike

我正在编写一个 Python 脚本来检索和使用 Google 表格中的数据。到目前为止,我可以毫无问题地登录并读取/写入单元格数据。

但是,就某些包含公式的单元格而言,python 返回的值是#DIV/0!,而不是我在电子表格本身的单元格中看到的结果。

这是为什么呢?我尝试将“值渲染选项”参数指定为 FORMATTED_VALUEUNFORMATTED_VALUEFORMULA,但没有任何效果。

例如,一个单元格包含一个 IF 公式,该公式在工作表本身中显示为“正”或“负”。我想让 python 检索这个值。相反,当我打印出这些值时,它会显示#DIV/0!。我在工作表本身中进行的计算也是如此(当我在线查看工作表时,它会生成正确的结果)。

我的脚本类似于 Google 教程页面上的示例脚本。

感谢您对初学者的帮助!干杯!

这是脚本:

from __future__ import print_function
from pprint import pprint
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from googleapiclient import discovery
import pickle

SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly']

spreadsheet_id = '1-V95KxzJCPglRa90KnvnHBvY2doffeAxuRrEBEA0mHg'

range_ = 'Finance_3!A1:D30'
credentials = None

if os.path.exists('token.pickle'):
with open('token.pickle', 'rb') as token:
credentials = pickle.load(token)

service = discovery.build('sheets', 'v4', credentials=credentials)

value_render_option = 'FORMATTED_VALUE'

date_time_render_option = 'FORMATTED_STRING'

request = service.spreadsheets().values().get(spreadsheetId=spreadsheet_id, range=range_, valueRenderOption=value_render_option, dateTimeRenderOption=date_time_render_option)
response = request.execute()

pprint(response)

最佳答案

看来我找到原因了。代码没有任何问题,我在不同的电子表格上测试了它。

尝试获取或以其他方式使用 GOOGLEFINANCE 历史价格数据时,提供的值为 NONE(或 NULL)。这就是导致 DIV/0 问题的原因。即使您的公式是基于历史价格的公式,它仍然不起作用。

“实时”价格返回得很好。只是不支持历史价格。

对于价格历史记录,我现在使用 Alpha Vantage。与 python 配合良好。

干杯!

关于Python 返回#DIV/0!来自 Google 表格而不是公式结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54831965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com