在 web2py 中打开 csv 文件时遇到问题
having trouble opening a csv file in web2py
我正在 web2py 中开展一个项目,我需要将 csv 文件上传到数据库,然后获取该文件中的信息并对其进行处理。我可以上传一个 csv 文件,在数据库中我可以点击这个文件,打开它,然后实际读取它,但是当我尝试在控制器中打开并读取它时,它不起作用。
我的控制器中导致错误的代码如下所示:
csvfile = open(form.vars.csv, 'r')
错误是“FileNotFoundError:[Errno 2] 没有这样的文件或目录:'datab.csv.aae72db13bc450af.637376746573742e637376.csv'
“
为什么这不起作用?
处理完表格后,数据库中的上传字段,因此 form.vars.csv
,只存储文件名,而不是完整的文件路径。与其手动构建完整的文件路径并调用 open
,更简单的做法是:
filename, csvfile = db.mytable.csv.retrieve(form.vars.csv)
当传递文件名时,上传字段对象的 .retrieve
方法 returns 原始(未转换的)文件名以及打开的文件对象。
见http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#More-on-uploads。
我正在 web2py 中开展一个项目,我需要将 csv 文件上传到数据库,然后获取该文件中的信息并对其进行处理。我可以上传一个 csv 文件,在数据库中我可以点击这个文件,打开它,然后实际读取它,但是当我尝试在控制器中打开并读取它时,它不起作用。
我的控制器中导致错误的代码如下所示:
csvfile = open(form.vars.csv, 'r')
错误是“FileNotFoundError:[Errno 2] 没有这样的文件或目录:'datab.csv.aae72db13bc450af.637376746573742e637376.csv' “
为什么这不起作用?
处理完表格后,数据库中的上传字段,因此 form.vars.csv
,只存储文件名,而不是完整的文件路径。与其手动构建完整的文件路径并调用 open
,更简单的做法是:
filename, csvfile = db.mytable.csv.retrieve(form.vars.csv)
当传递文件名时,上传字段对象的 .retrieve
方法 returns 原始(未转换的)文件名以及打开的文件对象。
见http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#More-on-uploads。