#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 секунд. Вероятно, это не проблема, если вы не используете очень большие файлы.