我是 tornado web 框架的新手。目前我正在构建一个 Web 应用程序,它应该加载 csv 文件然后处理它。我尝试在 python 中使用 csv 模块,还尝试了对我没有帮助的表格模块。
所以,我的问题是,是否有任何包或开源库可以读取 csv 文件数据并将其存储在某种变量中,以便我可以对文件执行各种操作。
我收到以下错误:
raise ValueError, "Need formats argument"
我的代码是:
import re
import sys
import os.path
import tornado.httpserver
import webbrowser
import personalfile
import tabular as tb
import csv
try:
import tornado.ioloop
import tornado.web
except:
print 'No tornado module installed, Please install the tornado from http://www.tornadoweb.org/'
sys.exit()
SRC = os.path.dirname(__file__)
# Main Handler
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render("static/template_upload.html")
class OutputHandler(tornado.web.RequestHandler):
def post(self):
template_file = self.get_argument('template_html', None)
**data_file = self.get_argument('csvfile', None)
data_file = csv.DictReader(data_file)**
data_file = tb.tabarray(data_file, verbosity=0, headerlines=1)
xhtmlOutput = personalfile.function([templatehtmlfile,data_file])
self.render('output.xhtml', data = xhtmlOutput)
application = tornado.web.Application([
(r"/", MainHandler),
(r"/output", OutputHandler)
], debug=True,
static_path=os.path.join(SRC, "static")
)
if __name__ == "__main__":
print open(os.path.join(SRC, 'static', 'intro.txt')).read()
webbrowser.open('http://127.0.0.1:8888')
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()