【发布时间】:2019-10-24 06:21:27
【问题描述】:
我有一个 Python 代码,每分钟通过 api 读取谷歌表格。一段时间后,我面临资源耗尽错误。 第一个问题是如何捕捉这个异常? 其次,最重要的是,这些 qoutes 是如何计算的? IE。我有一个函数调用,它开始与工作表进行通信,然后读取 20 行。那么它是一个报价,还是其中的 20 个?
try:
scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('/home/pi/Downloads/MeteoStation.json', scope)
client = gspread.authorize(creds)
except:
logging.error("Sheets settings opening error")
return None
else:
sheet = client.open('Sheetname').worksheet("Settings")
send_regular_sms=str(sheet.cell(4,5).value)
send_pressure_sms=str(sheet.cell(6,5).value)
measuring_diff=float(sheet.cell(8,5).value)
pressure_diff=float(sheet.cell(10,5).value)
sms_delay=float(sheet.cell(12,5).value)
sms_pressure_stop=float(sheet.cell(14,5).value)
return [client,send_regular_sms,send_pressure_sms]
【问题讨论】:
-
为了正确了解您的情况,能否提供您当前的脚本?当然,请删除您的个人信息。
-
我已经添加了它。为了不长,它被缩短了,但你可以感觉到背后的想法是什么
-
感谢您回复并添加脚本。在您的脚本中,似乎使用一个 API 来检索一个值。例如,这个流程怎么样? 1. 通过一个 API 检索所有值。 2. 从检索到的值中解析每个值。这样,可以减少API的使用次数。如果这不是你想要的方向,我必须道歉。
-
所以您建议使用
spreadsheets.values.get(),然后在返回之前合并这些值? -
感谢您的回复。我认为在您的情况下,可以使用 gspread 。那么例如,使用
get_all_values()的方法怎么样? Ref
标签: python-3.x google-sheets-api