目录python中的Pandas.read_csv文件

时间:2019-04-22 14:30:17

标签: python pandas

我需要使用python中的read_csv文件,该文件位于UPLOAD_FOLDER

FileNotFoundError: [Errno 2] File b'../bpe.csv' does not exist:

此代码:

def get_uploads():
    """gets the images and other files from the uploads directory
    and returns two lists of tuples in the form (name, path)
    """

    others = []

    uploads = os.listdir(os.path.join(app.root_path, app.config['UPLOAD_FOLDER']))

    # sort by time last modified
    uploads.sort(key=lambda filename: os.stat(os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], filename)).st_mtime)

    for upload in uploads[::-1]:
        others.append(( upload))
    print(others)
    for i in others:
        if i=='bpe.csv':
            databpe=i
        if  i=='ch.csv':
            datach=i

    if databpe and  datach:

        df=pandas.read_csv(databpe)
        ch=pandas.read_csv(datach)
        flash("check desktop","success")
    return render_template("page3.html")

1 个答案:

答案 0 :(得分:0)

os.listdir返回相对路径。因此,最小的解决方法是:

    df=pandas.read_csv(os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], databpe))
    ch=pandas.read_csv(os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], datach))

更好的重构是:

def get_uploads():
    databpe_path = os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], 'bpe.csv')
    datach_path = os.path.join(app.root_path, app.config['UPLOAD_FOLDER'], 'ch.csv')

    if os.path.isfile(databpe_path) and os.path.isfile(datach_path):
        df=pandas.read_csv(databpe_path)
        ch=pandas.read_csv(datach_path)
        flash("check desktop","success")

    return render_template("page3.html")