gpt4 book ai didi

python - 我将如何编写一个用我的 sqlite3 数据库填充的 CSV 文件?

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

对于如何使用给定用户的 models.py 中的信息填充以下 csv 函数,我有点困惑。谁能指出我正确的方向?我需要在单独的 py 文件中处理信息,还是可以在我的 View 中处理?

我查看下载信息

def download(request):
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=UserData.csv'
writer = csv.writer(response)
writer.writerow(['Date', 'HighBGL', 'LowBGL', 'Diet', 'Weight', 'Height', 'Etc'])
writer.writerow(['Info pertaining to date 1'])
writer.writerow(['info pertaining to date 2'])
return response

我有兴趣收藏的模特之一

class DailyVital(models.Model):
user = models.ForeignKey(User)
entered_at = models.DateTimeField()
high_BGL = models.IntegerField()
low_BGL = models.IntegerField()
height = models.IntegerField(blank = True, null = True)
weight = models.IntegerField(blank = True, null = True)

最佳答案

首先您需要查询您的 Django 模型,例如:DailyVital.objects.all()DailyVital.objects.filter(user=request.user)

然后您可以手动将对象转换为元组,或者您可以使用 Django QuerySetvalues_list method带有字段名称列表以返回元组而不是对象。像这样的东西:

def download(request):
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=UserData.csv'
writer = csv.writer(response)
writer.writerow(['Date', 'HighBGL', 'LowBGL', 'Weight', 'Height'])
query = DailyVital.objects.filter(user=request.user)
for row in query.values_list('entered_at', 'high_BGL', 'low_BGL', 'weight', 'height'):
writer.writerow(row)
return response

如果您在 Django 中不需要它,您也可以考虑 sqlite3 命令行程序的 -csv 选项。

关于python - 我将如何编写一个用我的 sqlite3 数据库填充的 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12083081/

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