App Engine:解析上传文件中的CSV数据

2 投票
2 回答
1700 浏览
提问于 2025-04-16 18:11

有没有什么模块或者包可以帮助解析从上传的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

撰写回答