Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶及;熊猫:上传csv作为熊猫数据框,并通过视图传递_Python_Pandas_Flask - Fatal编程技术网

Python 烧瓶及;熊猫:上传csv作为熊猫数据框,并通过视图传递

Python 烧瓶及;熊猫:上传csv作为熊猫数据框,并通过视图传递,python,pandas,flask,Python,Pandas,Flask,我开始构建一个允许用户上传csv的应用程序。然后,csv将作为数据帧加载。使用该数据帧,将进行若干计算,有时会提示用户完成该过程 我成功地构建了上传过程,并使用保存文件,但是,我不知道如何将数据帧从一个视图传递到另一个视图 我的想法是像使用本地脚本一样在数据帧上执行计算,将变量df分配给数据帧并在每个视图中引用它 用烧瓶可以吗?如果没有,是否有其他方法引用内存中的文件?简单的方法是将数据保存在全局变量中(例如,使用用户名作为键的字典): 谢谢各位。这似乎是最好的解决方案。Flask有一个全局变量

我开始构建一个允许用户上传csv的应用程序。然后,csv将作为数据帧加载。使用该数据帧,将进行若干计算,有时会提示用户完成该过程

我成功地构建了上传过程,并使用保存文件,但是,我不知道如何将数据帧从一个视图传递到另一个视图

我的想法是像使用本地脚本一样在数据帧上执行计算,将变量df分配给数据帧并在每个视图中引用它


用烧瓶可以吗?如果没有,是否有其他方法引用内存中的文件?

简单的方法是将数据保存在全局变量中(例如,使用用户名作为键的字典):


谢谢各位。这似乎是最好的解决方案。

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
    ...