def export_csv(request):
response = HttpResponse(mimetype = 'text/csv')
response['Content-Disposition'] = 'attachment; filename=exported.csv'
writer = csv.writer(response)
data = [['First-Name','Last-name'],['Foo','baar']]
for entry in data:
writer.writerow(entry)
return response
위 코드는 django에서 csv 파일을 출력하기 위해 작성되었습니다. 내가 직면 한 문제는 내 보낸/출력 된 파일의 콘텐츠가 CSV 파일 편집기의 다른 상자에 표시되지 않는다는 것입니다. 데이터 (목록)의 각 항목에 대해 동일한 상자에 인쇄되는 대신 다른 상자에있는 각 항목의 값 (이름, 성)을 해석해야합니다.django와 함께 출력 csv
csv 파일에실제 결과 : 예상
|First-Name,Last-Name |
|Foor,bar |
:
|First-Name |Last-Name |
|Foo |Baar |
나는이 목록의 크기와 내용에 독립적으로 파일을 내 보냅니다하는 메커니즘을 얻을 수있는 방법 ?
이전에 게시 한 파일은 실제로 나에게 똑같이 나타납니다. 명심해야 할 것은 CSV가 문자 그대로 쉼표로 구분 된 값이라는 것입니다 (보시다시피). 실제로 올바르게 해석하는 데 사용하는 편집기의 일입니다 (예를 들어, CSV에 쓰고 Excel에서 열 때 쉼표로 분리하도록 지시해야 할 때가 있습니다). – RocketDonkey
예, 당신이 말한대로 일하고 있습니다. 필자가 쉼표로 파일을 나눠서 예상 한 결과를 보여줍니다. 나는 쉼표로 파일을 분할하는 csv 편집기를 말하는 대신 기본 환경에서 예상 결과를 표시하는 방법이있을 것이라고 생각합니다. – Navid
Excel을 사용하는 경우'writer = csv.writer (response, dialect = 'excel')'와 같은 작성자를 시도해보십시오 - 귀하의 경우 도움이 될 수 있습니다. – RocketDonkey