2017-08-03 10 views
0

データベースのコンテンツをcsvファイルに書き込んでおり、Pythonを使用してダウンロードする必要があります。私は以下のコードを説明しています。ここでPythonを使用してダウンロードするcsvファイルを生成するには?

def createfile(request): 
    """ search the file by using the file path""" 

    if request.method == 'POST': 
     param = request.POST.get('param') 
     report = Reactor.objects.all() 
     response = HttpResponse(content_type='text/csv') 
     response['Content-Disposition'] = 'attachment;filename=status.csv' 
     writer = csv.writer(response) 
     writer.writerow(['Name', 'Status', 'Date']) 
     for rec report: 
      if report.status == 1: 
       status = 'Start' 
      if report.status == 0: 
       status = 'Stop' 
      if report.status == 2: 
       status = 'Suspend' 
      writer.writerow([report.rname, status, report.date]) 

私は、データベースからデータをフェッチし、ここにファイル私は、ファイルをダウンロードする必要がCSVで書いています。

+0

[Djangoでダウンロードするファイルを生成する]の可能な複製(https://stackoverflow.com/questions/908258/generating-file-to-download-with-django) – leonardo12

答えて

0

はそれを試してみてください(ライブラリCSV要求を使用して)

import csv 
import requests 

csv_url = 
'http://samplecsvs.s3.amazonaws.com/Sacramentorealestatetransactions.csv' 


with requests.Session() as s: 
    download = s.get(csv_url) 

    decoded_content = download.content.decode('utf-8') 

    cr = csv.reader(decoded_content.splitlines(), delimiter=',') 
    my_list = list(cr) 
    for row in my_list: 
     print(row) 

それは私のための仕事です。

+0

ここでは、私はcsvファイルに書いています。ここにはURLはありません。 – satya

+1

ファイルがあなたのコンピュータにあれば、それをダウンロードする必要がありますか? それがどんなサーバーにあれば、このコードでそれをダウンロードしますか? –

関連する問題