【发布时间】:2017-11-12 15:08:00
【问题描述】:
我想将一个 .csv 文件(由用户从外部上传)导入到我数据库中的一个表中。以下是我的代码:
(对于这个实现,我使用了建议的代码 python import csv to sqlite)
index.py
import sqlite3
import csv
@app.route('/uploadfile')
def uploadfile():
return render_template('upload_files.html')
@app.route('/file_read')
def file_read():
if request.method == 'POST':
class csvrd(object):
def csvFile(self):
self.readFile('test_file.csv')
def readFile(self, filename):
co = sql.connect("database.db")
cur1 = co.cursor()
cur1.execute("""CREATE TABLE IF NOT EXISTS input_data(SID varchar,task varchar)""")
filename.encode('utf-8')
with open(filename) as f:
reader = csv.reader(open(filename, "r"))
for field in reader:
cur1.execute("INSERT INTO input_data VALUES (?,?);", field)
co.commit()
co.close()
return render_template('upload_success.html')
我的 upload_files.html 文件包含允许用户上传 .csv 文件的代码
<html>
<body>
<form action = "{{ url_for('file_read') }}" method = "POST">
<div align="center"><input type=file name=file><input type=submit value=Upload></div>
</form>
</body>
</html>
但是在提交 .csv 文件后,服务器给了我错误“方法不允许 请求的 URL 不允许该方法。”错误。 和控制台打印 405
请帮我解决这个问题。
【问题讨论】: