Python 如何在django中设置excel文件的路径

Python 如何在django中设置excel文件的路径,python,django,pandas,Python,Django,Pandas,我正在使用pandas ExcelWriter和openpyxl在Django项目中创建excel。如何在项目目录中设置特定路径以保存创建的excel?提前谢谢 from pandas import ExcelWriter df_view = obj_master.get_employee() writer = ExcelWriter('PythonExportt.xlsx') df_view.to_excel(writer, 'Sheet1') writer.save() 使用/path/t

我正在使用pandas ExcelWriter和
openpyxl
在Django项目中创建excel。如何在项目目录中设置特定路径以保存创建的excel?提前谢谢

from pandas import ExcelWriter
df_view = obj_master.get_employee()
writer = ExcelWriter('PythonExportt.xlsx')
df_view.to_excel(writer, 'Sheet1')
writer.save()

使用
/path/to/file
声明本地路径

更新

或者,您可以在settings.py中定义路径,然后将其作为

Settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
在Django的某个地方:

from django.conf import settings
def write_to_excel(dataFrame, sheetName): 
writer = pd.ExcelWriter(settings.BASE_DIR, engine='xlsxwriter')
dataFrame.to_excel(writer, sheetName='Sheet1')
writer.save()

最好的方法可能是将Excel流写入内存流,然后将其包装为HTTP响应:

from pandas import ExcelWriter

XLSX_MIME = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'

def some_excelfile_view(request):
    response = HttpResponse(content_type=XLSX_MIME)
    response['Content-Disposition'] = 'attachment; filename="PythonExport.xlsx"'

    # obtain obj_master
    # ...
    writer = pd.ExcelWriter(response, engine='xlsxwriter')

    df_view = obj_master.get_employee()
    df_view.to_excel(writer, 'Sheet1')
    writer.save()
    return response
从导入ExcelWriter
XLSX_MIME='application/vnd.openxmlformats officedocument.spreadsheetml.sheet'
定义某些文件视图(请求):
response=HttpResponse(content\u type=XLSX\u MIME)
响应['Content-Disposition']='附件;filename=“PythonExport.xlsx”'
#获得obj_主机
# ...
writer=pd.ExcelWriter(响应,引擎='xlsxwriter')
df_view=obj_master.get_employee()
df_view.to_excel(编写器'Sheet1')
writer.save()
返回响应

然后,您可以使用映射到此
some\u excelfile\u视图的
url
。如果用户随后访问该URL,它将执行Excel文件的文件下载。

以获取项目目录的路径,而不考虑任何约束。
settings.py
BASE\u DIR
中具有项目目录的值,您应该导入它并保存文件

from myproject.settings import BASE_DIR
from pandas import ExcelWriter
import os

save_path = os.path.join(BASE_DIR, 'backup')

df_view = obj_master.get_employee()
writer = ExcelWriter('{}/PythonExportt.xlsx'.format(save_path))
df_view.to_excel(writer, 'Sheet1')
writer.save()

我将在Django中的何处声明它?write=ExcelWriter('./PythonExportt.xlsx')这将把文件写入与manage.py文件相同的文件夹中。您想将excel文件存储在何处?在Django项目文件夹目录中,名称为backupit意味着在目录
myproject/backup/
rightyes中correct@Bijoythanks,威廉。请帮助我设置保存的路径excel@selvakumar:但这看起来是个坏主意,因为它使Web服务比必要时更持久。没有这样的文件或目录:“/home/selava/prj/backup/PythonExportt.xlsx”错误发生,我想在该路径中创建新的excel文件您是否在项目的根目录中创建了名为
backup
的文件夹?是的,我已创建了
backup
文件夹,您是否可以描述您在其中编写上述代码的文件的路径,以及您的
备份
文件夹的路径。由于这对我有效,我可以创建文件