преобразование электронных таблиц в python-словарь - PullRequest
12 голосов
/ 20 января 2011

Я работаю над Python и хочу прочитать файл * .ods и преобразовать его в словарь Python.

Ключ будет значением первого столбца, а значением будет значение второго столбца.

Как я могу это сделать?Я использовал xlrd, но он не читает * .ods файлы.

Ответы [ 5 ]

7 голосов
/ 07 апреля 2015

Некоторые доступные опции:

  • pyexcel-ods : " Библиотека-оболочка для чтения, обработки и записи данных в формате ods. "Может быть установлен через: pip install pyexcel-ods.Я лично рекомендую этот пакет , поскольку я использовал его, и он активно поддерживается.

  • py-odftools : "... набор инструментов для анализа, преобразования и создания файлов в стандартном формате ISO OpenDocument."Этот проект не обновлялся с конца 2007 года. Он выглядит заброшенным.

  • ezodf : " Пакет Python для создания / манипулирования файлами OpenDocumentFormat. " Устанавливается с помощью pip install ezodf.См. Предостережение в комментариях ниже о серьезной проблеме с этим пакетом.

3 голосов
/ 09 апреля 2015

Хотя вы можете попросить своих пользователей «Файл»> «Сохранить как» (как вы, вероятно, знаете), в вашей ситуации это может оказаться бесполезным.

Вероятно, проще использовать сервис libre / openoffice. Он может быть запущен полностью на сервере без необходимости устанавливать или запускать X11, и это даст вам чистое собственное преобразование.

libreoffice --without-x --convert-to csv  filename.ods

Проверьте libreoffice --help (или openoffice --help) для деталей. Это также может быть включено в os.system (), subprocess. * () И т. Д. (Примечание: используйте -convert-to в Windows.) Также обратите внимание: вы не можете уже запускать любые экземпляры Libre / Открыть / Звездный офис, включая быстрый стартер.

Обновление: предыдущие версии LibreOffice использовали --headless вместо --without-x.

2 голосов
/ 20 января 2011

Проверка py-odftools .

2 голосов
/ 20 января 2011

Можете ли вы сначала преобразовать .ODS в csv? Затем анализировать CSV с помощью Python довольно просто, используя модуль csv .

0 голосов
/ 20 января 2011

В Linux Journal есть отличная статья о том, как читать ods в python. Ods-файл - это zip-файл juz, содержащий xml-файл внутри. Вы можете проанализировать XML-файл, чтобы прочитать все ячейки.

http://www.linuxjournal.com/article/9347?page=0,2

...