You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask应用中使用Pandas读取CSV文件报错问题

Flask读取CSV文件触发内部服务器错误的解决方案

核心问题:错误的文件路径

你代码里写的/static/filename.csv是系统根目录下的路径,并非Flask项目内部的static文件夹路径,这会导致pandas找不到文件,直接抛出异常引发500错误。

修正路径的两种方法

  1. 利用app.root_path拼接项目内路径
    修改读取CSV的代码:

    from app import app
    from flask import request
    import pandas as pd
    import os  # 新增导入
    
    @app.route('/hello', methods=['GET', 'POST'])
    def helloIndex():
        # 拼接正确的文件路径
        csv_path = os.path.join(app.root_path, 'static', 'filename.csv')
        df = pd.read_csv(csv_path)
    
        # 后续逻辑保持不变
        if request.method == 'POST':
            output2 = '<b> output data here </b>'
            return output2
        return '''
        <form method="POST">
                < HTML here for input data would go here >
        </form>
        '''
    
  2. 在视图函数中使用current_app(适合模块化项目)

    from app import app
    from flask import request, current_app  # 新增current_app导入
    import pandas as pd
    import os
    
    @app.route('/hello', methods=['GET', 'POST'])
    def helloIndex():
        csv_path = os.path.join(current_app.root_path, 'static', 'filename.csv')
        df = pd.read_csv(csv_path)
    
        # 后续逻辑不变
    

其他优化建议

  • 清理冗余代码:删除from flask import Flask,因为你已经从app模块导入了Flask实例app,重复导入无意义。
  • 开启调试模式定位问题:在启动脚本中添加调试模式,这样遇到错误时会显示详细的异常信息,方便排查:
    if __name__ == '__main__':
        app.run(debug=True)
    
  • 验证文件存在性与权限:确认static/filename.csv确实存在,且运行Flask的用户拥有该文件的读取权限。可以在项目根目录执行以下命令检查:
    ls static/filename.csv
    

内容的提问来源于stack exchange,提问作者osocode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 06:53:27