2013-12-05 6 views
-1

Я реализовал csv в моем текущем проекте Python Django.Проблема с вложением файла в CSV с django

writer = csv.writer(open('custom_data/abc.csv', 'w+')) 
      print "abc" 
      headers = [] 
      for i in data_desc: 

       headers.append((i[0].replace('_', ' ')).upper()) 
       j = j+1   

      j=1 
      writer.writerow(headers) 
      """ 
       fill data into csv cells 
      """ 
      for value in data.fetchall(): 
       k=0 
       no_record_check=1 

       row = [] 
       for val in value: 

        row.append(val) 

        k = k+1  
       j=j+1 
       writer.writerow(row) 
     except: 
      print "Exception here after printing"    

      #pass      

     response = HttpResponse(mimetype='text/csv') 
     now = datetime.datetime.now().strftime('%m-%d-%Y_%H:%M:%S') 
     response['Content-Disposition'] = 'attachment; filename= custom_data/abc.csv' 

код работает нормально. и файл с именем abc.csv создан успешно. но параметр загрузки имеет неправильное имя.

я создал файл с именем: abc.csv под custom_report и папка custom_report находится в моей папке проекта. (например, projectname/custom_report/abc.csv). Я нашел файл в этом месте. ::

моя структура проекта являются:

     projectname/app/app_name/ forms.py, views.py... 

         projetname/custom_report /abc.csv 

** мой вопрос вопрос: **

файл пришел с новым именем custom_data_abc.csv. с пустыми данными. в то время как файл abc.csv под custom_report доступен с правильными данными.

Вы можете мне помочь?

+0

Почему вы положили «PHP» тег для этот вопрос ? Это полностью связано с python, django и csv – Nilesh

+0

Пожалуйста, очистите код! Отступьте код, удалите ошибки, как, например, без попытки, удалите комментарии и пустые строки ... – Goin

ответ

1

Попробуйте это:

Извините за неправильный ответ .The учебник говорит, что:

response = HttpResponse(mimetype='text/csv') 
response['Content-Disposition'] = 'attachment; filename=unruly.csv' 
writer = csv.writer(response) 

Сначала создайте ответ, а затем записать содержимое

+0

Спасибо за ответ. его не работает для меня –

+0

Я отредактировал solution.This может помочь для вас –