Django не экспортирует кверисеты, разделенные запятыми должным образом (csv)
Я пытаюсь создать вывод в формате CSV из одного объекта и следую официальной документации, однако вывод не соответствует ожиданиям.
Что я пробовал:
views.py
:
def export_csv(request):
if request.method == 'POST':
project_id = request.POST['project_id']
project = Project.objects.filter(pk=project_id).values()
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="export.csv"'
writer = csv.writer(response)
writer.writerow(project)
return response
return redirect(index)
Текущий выход:
"{'id': 4, 'project_code': '123456789', 'country': 'Norway', 'note': 'Lorem Ipsum'}"
Желаемый выход:
"id","project_code","country","note"
"4","123456789","Norway","Lorem Ipsum"
Как я могу отформатировать вывод, чтобы он выглядел как желаемый?
Вы получаете на выходе объект JSON, чтобы преобразовать его в файл cvs, вы можете использовать pandas
import pandas as pd
df = pd.read_json("your-JSON-object)
df.to_csv ("where to output your new csv", index = None)
Вот ссылки на документацию, если вы хотите узнать больше об этих функциях