2009-11-17 4 views
3

Как загрузить данные из листа Excel в приложение Django? Я использую базу данных PosgreSQL в качестве базы данных.Получение данных из листа Excel

Я хочу сделать это программно. Клиент хочет загружать два разных списка на веб-сайт еженедельно, и они не хотят делать это в разделе admin, они просто хотят, чтобы списки загружались с листа Excel. Пожалуйста, помогите, потому что я здесь вроде как новый.

ответ

0

Программно или вручную? Если Мануалы затем просто сохранить первенствовать как CSV (с CSV или расширением TXT) и импорта в Postgresql используя

copy the_data from '/path/to/csv/MYFILE.txt' DELIMITERS ',' CSV; 
+0

программно, клиент хочет загрузить два разных списка на сайт еженедельно, и они не хотят делать это в разделе администратора, они просто хотят, чтобы списки загружались с листа exel.Пожалуйста, помогите, потому что я здесь новичок – user167139

+0

Новый для Python/DB/Excel или SO. Пожалуйста, переформатируйте свой вопрос с подробной информацией в комментарии выше. – whatnick

6

Посмотрите на пакет xlrd, который позволяет читать файлы Excel в Python. После того, как вы прочтете данные, вы можете делать с ними все, что хотите, включая сохранение его в базе данных.

Для базового примера использования, смотрите на http://scienceoss.com/read-excel-files-from-python/

+0

Может ли 'xlrd' читать формулы? http://www.lexicon.net/sjmachin/xlrd.htm предлагает, что это невозможно. https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html предлагает. –

+0

Я никогда не пробовал, поэтому не знаю. Но, пожалуйста, опубликуйте свои результаты, если вы попробуете :-) –

+0

Чтение через источник для 'xlrd' 0.7.1, там есть код для анализа формул. Но по умолчанию он отключен. И это экспериментально/неполно, например. он не мог обрабатывать формулы массива, которые у меня есть в файлах Excel. –

0

Или взглянуть на SQLAlchemy, если вы собираетесь написать какой-то сценарий, чтобы помочь вам в этом. (http://www.sqlalchemy.org/)

2

Посмотрите на презентации «Excel & Python», что Крис Холка дал в PyCon США:

«Этот молниеносный разговор объясняет, что вам не нужно использовать COM или быть в Windows для чтения и записи собственных файлов Excel».

http://www.simplistix.co.uk/presentations/python_excel_09/excel-lightning.pdf

3

Использование Джанго-batchimport http://code.google.com/p/django-batchimport/ Это обеспечивает очень простой способ загрузки данных в листах Excel для ваших моделей Django. Я использовал его в нескольких проектах. Его можно легко интегрировать в существующий проект Django.

Прочитайте документацию на странице проекта, чтобы узнать, как ее использовать.

Он построен на XLRD.

+0

+1 это отличный вариант, потому что они уже закодированы для некоторых из причуд в XLRD (это отличный пакет). –

+2

Каковы причуды в 'xlrd', которые нуждаются в« кодировании »? –

+0

'django-batchimport', к сожалению, оставлен; в коде появилось большое обновление, но документация никогда не была перезаписана (кроме того, чтобы добавить примечание вверху, в котором говорилось, что документация больше не актуальна), а последняя фиксация для проекта была возвращена в 2009 году. –

0

Я построил django-batchimport поверх xlrd, который УДИВИТЕЛЬНО. Единственные проблемы, с которыми я столкнулся, заключались в получении данных в Django. Не имеет никакого отношения к ограничениям xlrd. Это круто. Работа Джона невероятна.

Обратите внимание, что я действительно выполнил некоторую работу по обновлению django-batchimport и только что выпущен. Посмотрите: http://code.google.com/p/django-batchimport/

-1

Только что начал использовать XLRD, и он выглядит очень простым и простым в использовании.

Опасайтесь, что он еще не поддерживает Excel 2007, поэтому имейте в виду сохранить ваше преимущество в формате 2003 года.

+0

Я не знаю, кто его понизил и почему. Я думаю, что это (при условии, что это все еще так). Важно упомянуть ограничение версий Excel и избавить других от необходимости находить это сами. – OritK

Смежные вопросы