无法在web2py中打开csv文件

时间:2017-08-08 23:02:46

标签: python csv web2py

我正在研究web2py中的一个项目,我需要将csv文件上传到数据库,然后获取该文件中的信息并对其执行操作。我能够上传一个csv文件,在数据库中我可以点击这个文件,打开它,然后进行物理读取,但当我尝试在控制器中打开并读取它时,它不起作用。

我的控制器中导致错误的代码如下所示:

csvfile = open(form.vars.csv, 'r')

错误是“FileNotFoundError:[Errno 2]没有这样的文件或目录:'datab.csv.aae72db13bc450af.637376746573742e637376.csv' “

为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

表单处理完毕后,数据库中的上传字段以及form.vars.csv只存储文件名,而不是完整的文件路径。而不是手动构建完整的文件路径并调用open,更简单地说,你可以这样做:

filename, csvfile = db.mytable.csv.retrieve(form.vars.csv)

传递文件名时,上传字段对象的.retrieve方法返回原始(未转换的)文件名以及打开的文件对象。

请参阅http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#More-on-uploads