[英]how can I upload a csv file and enter the data into a database, using Flask, postgres and Python?
嘗試上傳一個csv文件,打開它,然后遍歷各行以將每個字段插入到postgres數據庫中,與此有關,我有2個問題(到目前為止已確定)。 我正在使用Flask而不是Django。
我遇到了縮進錯誤,盡管我一生都看不到哪里。 解決
heroku日志沒有提供其他反饋,因此即使文件已正確打開和讀取,我也不確定。
csv文件是:
first_name last_name email etc. # in all 8 columns
John Smith john@website.com
和python代碼是:
@app.route("/uploadcsv", methods=['POST'])
def uploadcsv():
csvfile = request.files['file']
with open(csvfile):
reader = csv.DictReader(csvfile)
for row in reader:
firstname = row['first_name']
query = Prospect(first_name=firstname)
db.session.add(query)
db.session.commit()
return "OK"
因此,有兩個問題:
壓痕問題是什么? 解決
該代碼是否正確用於上傳,打開和插入?
您尚未縮進for循環主體:
for row in data:
first_name = row['first_name']
sql = Prospect(first_name=first_name) #truncated for brevity
db.session.add(sql)
db.session.commit()
如果不是那樣,則可能是制表符和空格混合在一起。 Python可以處理任何一個,但不能同時處理兩個!
最好使用csv
Python庫 。 無需嘗試自己解析csv文件!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.