2017-08-03 60 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

我可能不會真正理解這個問題, 如果文件在您的計算機上,那麼您需要下載它, 如果它在任何服務器上,那麼它將使用此代碼下載它? –