gpt4 book ai didi

python - 将 excel 文件从主目录保存到 Django 中的数据库模型

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:38 26 4
gpt4 key购买 nike

如何将pd.dataframe生成的文件保存到某个数据库记录。

这就是 View ..

@csrf_exempt
def Data_Communication(request):
if request.method == 'POST':
data_sets_number = (len(request.POST)) - 1
Data_Sets_asNestedList = []
Data_set_id = request.POST.get('id')
Data_instance = Data_Sets.objects.get(pk=Data_set_id)
for x in range(data_sets_number):
i = 1
Data_Sets_asNestedList.append(request.POST.getlist('Data'+str(i)))
i = i + 1
pd.DataFrame(Data_Sets_asNestedList).to_excel('output.xlsx', header=False, index=False)
print(Data_Sets_asNestedList)
return HttpResponse('1')

最佳答案

如果您希望将生成的 Excel 文件与模型 Data_Sets 关联起来,那么您可能需要添加 FileField到该模型:

class Data_Sets(models.Model):
excel_file = fields.FileField()

在 View 中创建 Excel 文件后,您可以将其与新字段关联:

from django.core.files import File

@csrf_exempt
def Data_Communication(request):
if request.method == 'POST':
data_sets_number = (len(request.POST)) - 1
Data_Sets_asNestedList = []
Data_set_id = request.POST.get('id')
Data_instance = Data_Sets.objects.get(pk=Data_set_id)
for x in range(data_sets_number):
i = 1
Data_Sets_asNestedList.append(request.POST.getlist('Data'+str(i)))
i = i + 1
pd.DataFrame(Data_Sets_asNestedList).to_excel('output.xlsx', header=False, index=False)

# Associate the Excel file with the model
with open('output.xlsx', 'rb') as excel:
Data_instance.excel_file.save('output.xlsx', File(excel))

print(Data_Sets_asNestedList)
return HttpResponse('1')

Excel 文件本身将保存到MEDIA_ROOT 指定的文件夹中。在 settings.py 中进行设置,模型将通过 excel_file 属性指向该文件。

请注意,您可能希望为 output.xlsx 生成唯一的文件名,以避免请求相互干扰。

有关保存文件的其他信息可以找到 here .

关于python - 将 excel 文件从主目录保存到 Django 中的数据库模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54189279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com