#python #google-app-engine #csv
#python #google-app-engine #csv
Вопрос:
Существуют ли какие-либо модули или пакеты, которые помогают анализировать содержимое csv из загруженного файла csv в appengine. пробовал использовать csv-пакет на python. но он мог анализировать только файлы в файловой системе, но не данные ..http://docs.python.org/library/csv.html
Ответ №1:
но он мог анализировать только файлы в файловой системе, но не мог передавать данные
Нет, csv.reader принимает любой объект, который поддерживает построчную итерацию. Предполагая cgi.FieldStorage поддерживает это, и, предполагая, что вы опубликовали файл с именем «file», вы должны быть в состоянии это сделать:
import csv
for row in csv.reader(self.request.POST['file']):
# process row
Комментарии:
1. Или извлеките большой двоичный объект обратно из blogstore и передайте его в csv.reader(). Возможно, это то, что вы хотите сделать в серверной части, чтобы избежать превышения 30-секундного лимита запроса обработкой.
2.
code
импортировать csvcode
для строки в csv.DictReader(открыть(‘contacts.csv’, ‘rU’))code
self.response.out.write(строка) это работает нормально при тестированииcode
для строки в csv.DictReader (self.request.POST.get(‘CSV’).file.read())code
self.response.out.write (строка) когда тот же файл contacts.csv загружается через webbrowser, он не может извлечь содержимое это
Ответ №2:
Для 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 /