загрузить файл csv / Excel в appengine (python) для обработки

#python #google-app-engine #file #file-upload #csv

#python #google-app-engine #файл #файл-загрузить #csv

Вопрос:

Мне нужно иметь возможность загружать файл Excel или csv в appengine, чтобы сервер мог обрабатывать строки и создавать объекты. Кто-нибудь может предоставить или указать мне на пример того, как это делается? Спасибо за вашу помощь.

Ответ №1:

Загрузка в Blobstore, вероятно, является тем, что вам нужно. Затем считывает данные и обрабатывает их с помощью модуля csv.

Возможно, вы захотите изучить возможность отправки вашего файла в Google docs в случае Excel (и других) форматов, а затем прочитать строки обратно через Spreadsheets API

Ответ №2:

Если вы имеете в виду одноразовые (или несколько) переводы, вы, вероятно, ищете систему массовой загрузки: http://code.google.com/appengine/docs/python/tools/uploadingdata.html

Если вы говорите о регулярных загрузках во время использования, вам нужно будет обрабатывать их как запросы post к приложению.

Комментарии:

1. То, что я хотел бы сделать, это просто попросить пользователя перейти на страницу, где они загружают файл со своего компьютера. Затем сервер обработает его. Я не думаю, что bulkloader — это то, что я хочу.

2. @Sam: Нет, если вы думаете о пользователях, загружающих файлы, это не то, что вы хотите. Вам нужно будет обработать запрос post при загрузке, проанализировать данные с помощью модуля csv (или xlrd для Excel) и поместить данные в app Store. О, и все, что вы делаете, должно быть завершено в течение срока, установленного для запросов appengine, который, я думаю, составляет 30 секунд. Однако я не знаю аккуратного примера.

3. Необязательно выполнять за 30 секунд. Для этого и существует очередь задач.

4. @Sam: Я думаю, вам все равно нужно иметь возможность анализировать файл и ставить задачи в очередь в течение 30 секунд. Вероятно, это не проблема, если вы не используете очень большие файлы.