Python GSpead On-Change Listener?



我正在制作一个脚本,可以从谷歌表单中检查谷歌表格,并将结果作为民意调查的实时提要可视化返回。我需要弄清楚如何更新值计数,但仅在 google 工作表更新时,而不是每 60 秒(或其他什么(检查一次。

这是我目前的设置:

string = ""
while True:
responses = gc.open("QOTD Responses").sheet1
data = pd.DataFrame(responses.get_all_records())
vals = data['Response'].value_counts()
str = "{} currently has {} votes. n{} currently has {} votes.".format(vals.index[0], vals[0], vals.index[1],
     vals[1])
if(str != string):
string = str
print(string)
time.sleep(60) # Updates 1440 times per day

我几乎可以肯定,必须有更好的方法来做到这一点,但那会是什么?

谢谢!

你无法单独使用 Python 来做到这一点。您需要与 Google Apps 脚本中的触发器函数集成。

您可以使用onEdit触发器函数向python脚本发送信号(例如通过http调用(。

若要使用简单触发器,只需创建一个使用以下函数之一的函数 这些保留的函数名称:

  • onOpen(e( 在用户打开电子表格、文档、 演示文稿或用户有权编辑的表单。

  • onEdit(e( 在用户更改电子表格中的值时运行。

最新更新