views.py

@login_requireddef export_csv(request):
    user = request.user
    # heading columns
    headerrow = ['Filename', 'Description','Notes other','Reporter Name']
    allrows = []
    today = datetime.datetime.today() # default to show today
    reports = Report.objects.filter(user=user)
    reports = reports.filter(created_date_time__year=today.year)
    for report in reports:
        row = []
        row.append(report.report_number);
        row.append(report.report_description);
        row.append(report.notes_other);
        row.append(report.reporter_name);
        allrows.append(row)
    # setup CSV export
    response = HttpResponse(mimetype='text/csv')
    filename = "%s-%s.csv" % ('Daily-reports', 
datetime.datetime.now().strftime('%Y-%m-%d'))
    response['Content-Disposition'] = 'attachment; filename=%s' % filename
    writer = UnicodeWriter(response, encoding='utf-8')
    writer.writerow(headerrow)
    for writerow in allrows:
        writer.writerow(writerow)
    return response

csv_unicode.py

import csv, codecs, cStringIOclass UnicodeWriter:
   def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
        # Redirect output to a queue
        self.queue = cStringIO.StringIO()
        self.writer = csv.writer(self.queue, dialect=dialect, **kwds)
        self.stream = f
        self.encoder = codecs.getincrementalencoder(encoding)()

    def writerow(self, row):
        self.writer.writerow([unicode(s).encode("utf-8") for s in row])
        # Fetch UTF-8 output from the queue ...
        data = self.queue.getvalue()
        data = data.decode("utf-8")
        # ... and reencode it into the target encoding
        data = self.encoder.encode(data)
        # write to the target stream
        self.stream.write(data)
        # empty queue
        self.queue.truncate(0)

    def writerows(self, rows):
        for row in rows:
            self.writerow(row)

The above code is exporting the database data into .csv file.

Problem i am facing is,the exported data like Filename,Description,Notes 
Others,Reporter Name are exported in separate cell.Will show the output
 i am getting and required output.

You can see my existing and required format. 

I had attached two format,file name existing_csv is the output file i ma 
getting,required_csv is the .csv file i am expecting.

Need some ones help.



-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.


<<attachment: existing_csv.png>>

<<attachment: required_csv.png>>

Reply via email to