如何在Django项目中读取CSV文件?解决文件找不到问题
解决Django中pd.read_csv找不到文件的问题
文件放置目录建议
- 若为固定业务数据源,推荐在对应Django应用(比如你的
analytics应用)下新建data目录,将jobibi.txt放入其中,便于按应用分类管理文件。 - 也可直接将文件放在项目根目录(和
manage.py同级),适合全局通用的数据源。
修改代码使用绝对路径
直接写文件名会基于Django运行时的工作目录查找,容易出现找不到的情况,改用绝对路径即可解决:
方法1:基于项目根目录构建路径
import os from django.conf import settings def get_plot(): file_path = os.path.join(settings.BASE_DIR, 'jobibi.txt') df = pd.read_csv(file_path, sep=',', encoding='utf-8')
此时文件需放在项目根目录(manage.py所在目录)。
方法2:基于应用目录构建路径
如果文件放在应用内的data目录:
import os def get_plot(): # 获取当前函数所在文件的目录,再拼接data和文件名 app_dir = os.path.dirname(os.path.abspath(__file__)) file_path = os.path.join(app_dir, 'data', 'jobibi.txt') df = pd.read_csv(file_path, sep=',', encoding='utf-8')
此时在你的应用目录下新建data文件夹,放入jobibi.txt即可。
额外检查
- 确认文件名拼写完全一致(注意大小写,Linux系统区分大小写)
- 确保文件权限正常,Django运行进程有读取该文件的权限
内容的提问来源于stack exchange,提问作者Griffith
相关产品推荐
相关产品推荐

