Читать комментарий к ячейке Excel с помощью Python в Linux?

Я использую Python в среде Linux (Ubuntu).

Как мне прочитать комментарий, который хранится в ячейке A5 электронной таблицы MyFile.xls (если это имеет значение, этот файл в формате Excel 2003)?


person user3262424    schedule 18.05.2011    source источник
comment
Когда вы выполнили поиск в Google для чтения файлов XLS в Python, какими были первые несколько ссылок? Какой из этих проектов с открытым исходным кодом показался вам хорошим? У вас есть конкретный вопрос о том, как работает xlrd?   -  person S.Lott    schedule 18.05.2011


Ответы (2)


Я хотел сказать, что очень плохо, что xlrd не обрабатывает комментарии, но затем я наткнулся на это Что лучший способ извлечь комментарии к ячейкам Excel с помощью Perl или Ruby?.

Ключевой отрывок:

Библиотека Python xlrd будет анализировать комментарии к ячейкам (если вы включите xlrd.sheet.OBJ_MSO_DEBUG, вы их увидите), но не предоставляет их через API. Вы можете либо разобрать дамп, либо немного взломать его, чтобы получить к ним доступ программно.

person Steven Rumbalski    schedule 18.05.2011
comment
@Стивен Румбальски: спасибо. Можете ли вы привести пример, как это сделать? Я знаю, как использовать xlrd, но не знаю, как реализовать предложенные вами изменения. - person user3262424; 18.05.2011
comment
@user3262424 user3262424 Вот загвоздка. Это не работает из коробки и требует некоторого возни - больше, чем я готов сделать для ответа. Если вы обратитесь к ответу, на который я ссылаюсь, вы увидите, что большая часть работы была проделана за вас, вам просто нужно научиться читать diff. - person Steven Rumbalski; 18.05.2011
comment
@user3262424 user3262424 Если это слишком сложно, возможно, вам придется заплатить кому-то за это. Или, возможно, вы могли бы увидеть, существует ли эта возможность в библиотеках Excel для ruby, perl или чего-то еще. Или вы можете автоматизировать openoffice, чтобы открыть файл и извлечь комментарий. - person Steven Rumbalski; 18.05.2011
comment
@user3262424 user3262424 В синтаксическом анализе Excel для Ruby есть член объекта ячейки, называемый аннотацией. Звучит как комментарий. См. rubydoc.info/gems/parseexcel/0.5.2/frames. - person Steven Rumbalski; 18.05.2011
comment
@Стивен Румбальски: спасибо. Я посмотрю на это поближе. Кроме того, что произойдет, если я переключу Excel на OpenOffice? Есть ли модуль Python, который будет читать комментарии в электронной таблице OpenOffice? - person user3262424; 18.05.2011
comment
@user3262424 user3262424 Модуль Python для OpenOffice называется uno. Я думаю, что это дерьмо — это и громоздко, и неинтуитивно. Я включил его в свой ответ только для полноты картины. Я думаю, что xlrd хак - ваш лучший вариант. Я был бы рад, если бы кто-то другой придумал лучший ответ. - person Steven Rumbalski; 19.05.2011
comment
Вы можете использовать sheet.cell_note_map для чтения комментариев, не знаю, когда это было добавлено, но это просто, как может быть, без синтаксического анализа DEBUG или чего-то еще. Это просто там. - person i_4_got; 04.10.2012
comment
@i_4_got: Хороший улов. Глядя на исходный код и историю изменений, cell_note_map был добавлен в версию 0.7.2, выпущенную 14 января 2012 г. - person Steven Rumbalski; 04.10.2012

Вы можете читать Notes, используя sheet.cell_note_map легко.

person i_4_got    schedule 04.10.2012