Ich habe keine Probleme beim Schreiben einer CSV außerhalb des Flask-Frameworks. Aber wenn ich versuche, es von Flask aus zu schreiben, schreibt es in die CSV, aber nur in einer Zeile. HierSchreiben einer CSV aus dem Flask-Framework
ist die Vorlage Ich folge
@app.route('/download')
def download():
csv = """"REVIEW_DATE","AUTHOR","ISBN","DISCOUNTED_PRICE"
"1985/01/21","Douglas Adams",0345391802,5.95
"1990/01/12","Douglas Hofstadter",0465026567,9.95
"1998/07/15","Timothy ""The Parser"" Campbell",0968411304,18.99
"1999/12/03","Richard Friedman",0060630353,5.95
"2004/10/04","Randel Helms",0879755725,4.50"""
response = make_response(csv)
response.headers["Content-Disposition"] = "attachment; filename=books.csv"
return response
Dies schreibt die CSV perfekt, aber wenn ich mit meinem Code versuchen, erhalte ich eine lange Reihe.
Mein Code:
@app.route('/download')
def post(self):
# lots of code
csvList.append([all,my,data,goes,here])
csvList = str(re.sub('\[|\]','',str(csvList))) # convert to a string; remove brackets
response = make_response(csvList)
response.headers['Content-Disposition'] = "attachment; filename=myCSV.csv"
return response
Meine Ausgabe:
Nashville Physician Service Ce,Treasury Specialist,Brentwood,TN,(615) 507-1646,La Petite Academy,Afternoon Teacher Aide,Goodlettsville,TN,(615) 859-2034,Nashville Physician Service Ce,Denial Resolution Specialist,Brentwood,TN,(615) 507-1646
Dank.
EDIT: Ich versuchte fast alle Antworten und sie arbeiteten zum größten Teil, aber ich wählte vectorfrog, weil es mit dem, was ich versuchte, zu erreichen.
Sie sollten Verwenden Sie wahrscheinlich das csv-Modul (https://docs.python.org/2/library/csv.html). –
Auch dies ist eine idiomatische Art, eine Datei zum Herunterladen in Kolben zu erstellen: http://flask.pooco.org/snippets/32/ –
Danke, @ DavidK.Hess! Ich habe nicht nur versucht, Python-Grundlagen zu lernen, sondern wirklich versucht, idiomatischen Code zu schreiben. Das hilft definitiv. – tmthyjames