Python Flask应用程序中出现KeyError,Heroku中上载了CSV和CSV

Python Flask应用程序中出现KeyError,Heroku中上载了CSV和CSV,python,html,pandas,flask,heroku,Python,Html,Pandas,Flask,Heroku,我和一个朋友在Flask中做了这个web应用,我用下面的表格从上传的CSV中得到了任何类型的图的X和Y。代码如下: <form action="{{url_for('plot')}}" method="POST" enctype="multipart/form-data"> <div class="form-group"><label>

我和一个朋友在Flask中做了这个web应用,我用下面的表格从上传的CSV中得到了任何类型的图的X和Y。代码如下:

    <form action="{{url_for('plot')}}" method="POST" enctype="multipart/form-data">
                    <div class="form-group"><label>Select X Axis</label><select class="form-control" name="x_axis" required>
                        <option value=""></option>
                        {% for column in cols %}
                        <option value="{{column|string}}">{{column}}</option>
                        {% endfor %}
                    </select></div>
                    <div class="form-group"><label>Select Y Axis</label><select class="form-control" name="y_axis" required>
                        <option value=""></option>
                        {% for column in cols %}
                        <option value="{{column|string}}">{{column}}</option>
                        {% endfor %}
                    </select></div>
<div class="form-group"><label>Plot Type</label><select class="form-control" name="plot_type" required>
                        <option value=""></option>
                        <option value="scatter">Scatter Plot</option>
                        <option value="line">Line Plot</option>
                        <option value="bar">Bar Plot</option>
                        <option value="sunburst">Sunburst Plot</option>
                        <option value="corelation">Correlation Matrix</option>
                        <option value="table">Table</option>
                    </select><br><br>
                    <div class="form-group"><button class="btn btn-primary btn-block" type="submit">Plot</button></div>
                </form>
有趣的是,即使服务器中存储了CSV,也会导致相同的错误


任何其他的澄清,我都很乐意回答。

我一直试图在Heroku中使用它,但没有用。我切换到PythonyWhere,现在错误不会弹出。

您确定没有删除所有数据:
df=df.dropna(how=“any”)
?不,一点也不。我在Jupyter笔记本上运行了相同的代码,结果很好。我认为这可能是一个Heroku问题,因为我设法在Pythonywhere中托管了它,但错误没有出现。
def plot_choose():
    f = request.files['csv']
    if f.filename.split('.')[1] == 'csv':
        f.save(secure_filename(f.filename))
    else:
        return "<h1>Incorrect File Format</h1>"
    global df
    df = pd.read_csv(f.filename)
    df = df.dropna(how = "any")

    return render_template('plot.html', cols=list(df.columns), tables = [df.head().to_html(classes='data')])
x_ax = str(request.form['x_axis'])
y_ax = str(request.form['y_axis'])
plot = str(request.form['plot_type'])