Получение данных из листа Excel - PullRequest
3 голосов
/ 17 ноября 2009

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

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

Ответы [ 9 ]

6 голосов
/ 17 ноября 2009

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

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

3 голосов
/ 17 ноября 2009

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

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

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

2 голосов
/ 17 ноября 2009

Посмотрите презентацию "Excel & Python", которую Крис Уизерс дал на PyCon US:

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

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

0 голосов
/ 02 июля 2012

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

Помните, что он пока не поддерживает Excel 2007, поэтому имейте в виду, чтобы сохранить Excel в формате 2003 года.

0 голосов
/ 04 декабря 2009

Я построил django-batchimport поверх xlrd, который поражает. Единственные проблемы у меня были с получением данных в Django. Не имеет ничего общего с какими-либо ограничениями xlrd. Это круто. Работа Джона невероятна.

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

0 голосов
/ 17 ноября 2009

Если вы хотите использовать COM для интерфейса Excel (т.е. вы работаете на компьютере с Windows), см. «Перенос данных Excel в SQLite» - http://www.saltycrane.com/blog/2007/11/migrating-excel-to-sqlite-using-python/

0 голосов
/ 17 ноября 2009

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

0 голосов
/ 17 ноября 2009

Насколько я помню об этом. Лучший способ - сохранить этот лист в виде простого текста (CSV или что-то) А затем загрузите с помощью некоторого пользовательского сценария SQL. http://www.postgresql.org/docs/8.3/static/populate.html

0 голосов
/ 17 ноября 2009

Программно или вручную? Если вручную, просто сохраните Excel как CSV (с расширением csv или txt) и импортируйте в Postgresql, используя

copy the_data from '/path/to/csv/MYFILE.txt' DELIMITERS ',' CSV;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...