2017-08-08 93 views
-1

我正在處理web2py中的項目,我需要將csv文件上傳到數據庫,然後獲取該文件中的信息並使用它進行操作。我可以上傳一個csv文件,在數據庫中,我可以點擊這個文件,打開它,然後物理讀取它,但是當我嘗試在控制器中打開並閱讀它時,它不起作用。無法在web2py中打開csv文件

在我的控制器導致該錯誤的代碼如下所示:

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

錯誤是「FileNotFoundError:[錯誤2]沒有這樣的文件或目錄:「datab.csv.aae72db13bc450af.637376746573742e637376.csv ' 「

爲什麼這不起作用?

回答

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