App Engine:解析上传文件中的CSV数据
有没有什么模块或者包可以帮助解析从上传的CSV文件中提取内容,特别是在appengine上。我试过用Python的csv包,但它只能解析文件系统中的文件,不能处理上传的数据。
2 个回答
0
App Engine Mapper有一个专门处理blobstore的输入格式,具体可以查看这个链接:http://code.google.com/p/appengine-mapreduce/
这个格式会逐行读取CSV文件的内容,并把每一行发送给你的mapper进行处理和导入。不过要小心,如果CSV文件中有转义的新行符,程序就会出问题。
这里有一个使用Java实现的例子,可以参考这个链接:http://ikaisays.com/2010/08/11/using-the-app-engine-mapper-for-bulk-data-import/
3
但是它只能解析文件系统中的文件,而不能处理数据。
不,csv.reader 可以接受任何支持逐行读取的对象。假设 cgi.FieldStorage 支持这个功能,并且假设你上传了一个名为 "file" 的文件,你应该可以这样做:
import csv
for row in csv.reader(self.request.POST['file']):
# process row