如何链接使用Pandas在函数中创建的CSV文件并在Django view/html中显示它?

2024-04-26 02:51:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个名为util.py的文件,其中包含一个函数中的以下代码,用于将我的数据帧转换为CSV:

crisporDF = pd.DataFrame(res, columns=["Position", "Guide", "Specificity Score", "Predicted Efficiency (Doench '16)", "Predicted Efficiency (Mor.-Mateos)", "Out-of-Frame score", "Off-targets for 0-1-2-3-4 mismatches"])
crisporDF = crisporDF.replace('\n',' ', regex=True)
crisporCSV = crisporDF.to_csv('crisporCSV.csv', index=False)
crisporDF = crisporDF.to_html(classes=["table-bordered", "table-striped", "table-      hover",], index=False, justify="initial")

如你所见,我称之为crisporsv,它创建并保存文件,这是在一个函数中,我在我的视图中调用函数,如:

crisporDF = crispor(form.cleaned_data['dnaSeq'], form.cleaned_data['species'], form.cleaned_data['pam'])

函数采用用户提交的某种形式输出。函数以html代码的形式返回pandas数据帧,如上图所示(crisporDF),然后在函数“return crisporDF”中返回,然后在视图中输出表

return render(request, 'home.html', {'form': form, 'crisporOUT': crisporDF})

然后在我的html中称为{{ crisporOUT|safe }}

如何在视图中将csv呈现为要下载的链接?该文件存在,但我不知道我该怎么办,请问你是否需要更多的信息谢谢


Tags: 文件csv数据函数代码form视图data
1条回答
网友
1楼 · 发布于 2024-04-26 02:51:17

我更愿意将csv文件保存在Django模型中,比如FileField

class MyCSV(models.Model):
    name = models.CharField('Name', blank=False)
    file_ical = models.FileField('My CSV File', upload_to='your/folder', blank=True)

你必须拿到那个东西

my_csv = MyCSV.objects.get(name='crisporCSV.csv')

在你的渲染中

return render(request, 'home.html', {'form': form, 'crisporOUT': crisporDF, 'file_csv': my_csv})

现在您可以使用

<a href="{{ file_csv.url }}">{{ file_csv.name }}</a>

相关问题 更多 >