【发布时间】:2011-05-23 17:57:44
【问题描述】:
是否有任何模块或包可以帮助从 appengine 中上传的 csv 文件解析 csv 内容。尝试在 python 中使用 csv 包。但它只能解析文件系统中的文件,但不能解析数据.. http://docs.python.org/library/csv.html
【问题讨论】:
标签: python google-app-engine csv
是否有任何模块或包可以帮助从 appengine 中上传的 csv 文件解析 csv 内容。尝试在 python 中使用 csv 包。但它只能解析文件系统中的文件,但不能解析数据.. http://docs.python.org/library/csv.html
【问题讨论】:
标签: python google-app-engine csv
但它只能解析文件中的文件 系统但无法数据
不,csv.reader 接受任何支持逐行迭代的对象。假设 cgi.FieldStorage 支持它,并且假设你已经发布了一个名为“file”的文件,你应该可以这样做:
import csv
for row in csv.reader(self.request.POST['file']):
# process row
【讨论】:
codeimport csv codefor row in csv.DictReader(open('contacts.csv', 'rU')) code self.response.out.write(row) this测试时工作正常codefor row in csv.DictReader(self.request.POST.get('CSV').file.read()) codeself.response.out.write(row) 当联系人.csv 相同的文件是通过 webbrowser 提供的,它无法解析它的内容
App Engine Mapper 有一个 blobstore 输入格式:http://code.google.com/p/appengine-mapreduce/
它将读取 CSV 中的每一行并将其发送到您的映射器以供读取/导入。不过要小心,因为如果 CSV 中有转义的新行,它会中断。
下面是 Java 实现的示例:http://ikaisays.com/2010/08/11/using-the-app-engine-mapper-for-bulk-data-import/
【讨论】: