Python 烧瓶及;熊猫:上传csv作为熊猫数据框,并通过视图传递
我开始构建一个允许用户上传csv的应用程序。然后,csv将作为数据帧加载。使用该数据帧,将进行若干计算,有时会提示用户完成该过程 我成功地构建了上传过程,并使用保存文件,但是,我不知道如何将数据帧从一个视图传递到另一个视图 我的想法是像使用本地脚本一样在数据帧上执行计算,将变量df分配给数据帧并在每个视图中引用它Python 烧瓶及;熊猫:上传csv作为熊猫数据框,并通过视图传递,python,pandas,flask,Python,Pandas,Flask,我开始构建一个允许用户上传csv的应用程序。然后,csv将作为数据帧加载。使用该数据帧,将进行若干计算,有时会提示用户完成该过程 我成功地构建了上传过程,并使用保存文件,但是,我不知道如何将数据帧从一个视图传递到另一个视图 我的想法是像使用本地脚本一样在数据帧上执行计算,将变量df分配给数据帧并在每个视图中引用它 用烧瓶可以吗?如果没有,是否有其他方法引用内存中的文件?简单的方法是将数据保存在全局变量中(例如,使用用户名作为键的字典): 谢谢各位。这似乎是最好的解决方案。Flask有一个全局变量
用烧瓶可以吗?如果没有,是否有其他方法引用内存中的文件?简单的方法是将数据保存在全局变量中(例如,使用用户名作为键的字典):
谢谢各位。这似乎是最好的解决方案。Flask有一个全局变量
g
,可用于将属性任意附加到
借用Andre的片段作为示例:
import flask
def edit(request):
flask.g.data = your_data
...
def save(request):
your_data = flask.g.data
...
您可以将
flask.g.data
设置为dict,只要添加适当的逻辑以了解dict是否已经存在。如果要在代码中初始化flask.g.data=dict()
,那么我认为data
将在每次调用代码时重新初始化 嗯。。我应该在哪里定义这个dict?这是我最初的方法,但当我在另一个视图中加载dict时,它仍然是空的,就像我创建它时一样:(hmmm…在django中它可以工作))尝试使用-它将与dict仅在定义和.set方法上有所不同hmm,这看起来很有希望。你认为这在Google App Engine中能起作用吗?你正在寻找的是所有框架中的缓存(或memcache)——在一些视图之间共享临时数据的非常快速的方法。在GAE中,它表示为:flask有一个关于这方面的简单教程。谢谢,先生。
import flask
def edit(request):
flask.g.data = your_data
...
def save(request):
your_data = flask.g.data
...