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

我可能不会真正理解这个问题, 如果文件在您的计算机上,那么您需要下载它, 如果它在任何服务器上,那么它将使用此代码下载它? –