EmptyDataError:没有要从文件中解析的列

分享于2022年07月17日 flask html pandas parsing python 问答
【问题标题】:EmptyDataError:没有要从文件中解析的列(EmptyDataError : No columns to parse from file)
【发布时间】:2022-07-13 03:30:37
【问题描述】:

我正在尝试在 VSCode 中编写一个烧瓶代码,该代码读取一个 CSV 文件并将其作为表格显示在浏览器上。 这是 .py 代码:

from flask import Flask,render_template,request
import os
import pandas as pd

app=Flask(__name__)
app.secret_key="123"

app.config["UPLOAD_FOLDER1"]="static/csv"

@app.route("/upload",methods=['GET','POST'])
def upload():
    return render_template("UploadCsv.html")

@app.route("/display",methods=["GET","POST"])
def display():
    upload_file = request.files['upload_csv']
    if upload_file.filename != '':
            file_path = os.path.join(app.config["UPLOAD_FOLDER1"], upload_file.filename)
            upload_file.save(file_path)
            data=pd.read_csv(upload_file,sep=",")
            return render_template("ExcelContent.html",data=data.to_html(index=False))

if __name__=='__main__':
    app.run(debug=True)

我在代码中使用了两个 HTML 文件,这些是: 上传Csv.html


    
        Upload CSV File
    
    
        

CsvContent.html




    
    CSV File


    

Here's your uploaded CSV file :

{{data|safe}}

现在,当我运行 .py 并打开本地主机并上传 csv 时,会弹出上述错误。当我单击“提交”时,我的 csv 文件必须存储到的文件夹工作正常。显示部分是弹出此错误的地方。我不知道如何纠正。我的文件是一个简单的 CSV 文件(以逗号分隔)。这是错误消息的图片: EmptyDataError : No columns to parse from file

帮我解决错误,在此先感谢!


【解决方案1】:

您可能应该将 filepath 传递给 pd.read_csv 方法,如下所示:

def display():
    upload_file = request.files['upload_csv']
    if upload_file.filename != '':
            file_path = os.path.join(app.config["UPLOAD_FOLDER1"], upload_file.filename)
            upload_file.save(file_path)
            data=pd.read_csv(file_path,sep=",")
            return render_template("ExcelContent.html",data=data.to_html(index=False))