appengine: анализ данных csv в загруженном файле

#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 импортировать csv code для строки в 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 /