Уведомления

Группа в Telegram: @pythonsu

#1 Май 23, 2015 14:20:59

alekscooper
Зарегистрирован: 2015-01-25
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

Всем привет!

Возникла одна прикладная задача, которую я решил совместить с изучением Питона. На данный момент знаю на среднем уровне flow control и ООП. В общем, что нужно:


1) в рабочей директории найти все файлы xls
2) посмотреть, подходят ли они по формату, например, путём проверки, написано ли в ячейке C1 слово “отчёт”.
3) каждый xls-файл - это таблица с результатами: один столбец - имя, другой - результат
4) надо свести всё в один файл, который будет представлять собой консолидированный отчёт, то есть, сумму баллов для каждого оригинального имени.
5) какие-то ещё задачи, которые появятся позже


Внимание, вопрос: какие модули изучать, то есть, что нужно import?

Спасибо.

Отредактировано alekscooper (Май 23, 2015 14:21:27)

Офлайн

#2 Май 23, 2015 14:48:57

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

xlrd+xlwt должно хватить.

Отредактировано Shaman (Май 23, 2015 14:52:44)

Офлайн

#3 Май 23, 2015 19:21:15

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

Shaman
xlrd+xlwt должно хватить.
Я бы архитектурно такое приложение разбил на 2 части. Импорт данных из xls в нормальную базу данных. И изготовление сводного отчета по данным из базы. Сегодня нужен один сводный отчет, завтра другой, ну и т.п. Все время парсить xls и по времени накладно и по объему кода. В этом случае xlrd+xlwt недостататочно, надо еще про базы почитать и понять как делать отчеты по шаблонам. Возьмите SQLite для начала.

p.s.
:) Недавно были вынуждены делать отчеты в Ворде. Печалька. Com интерфейс очень медленный да и сложный слишком интерфейс у ворда. pydocx не хватило возможностей по оформлению. Готовые шаблонизаторы сильно привязаны к версии ворда (используются 3, 7, 10, 13) Для большого коллектива разработчиков шаблонов это конечно не гуд. Посадили много народу для набивания отчетов. Опять не слава богу. Стили плывут жутко. При переходе между разными версиями Ворда то пробелы между слов потеряются то вообще документ перестает читаться. Написали модуль на пару абзацев. Применение шаблонов Mako в теле вордового документа. Основная часть этого модуля борется с тем, что любой введенный текст Ворд пытается разбить на множество кусочков, каждый со своим стилем, по терминологии ворда text runs. Этот модуль собирает осколки в один run, чтобы Mako мог найти что ему заменять (иначе надо будет выкручиваться как в https://code.google.com/p/xdocreport/wiki/DocxDesignReport). Ну и назвали мы его соответственно word_srunt (word single run text). Но тоже не слава богу. Непонятно как вставлять рисунки и другие ссылки на внешние ресурсы. Это похоже даже гуру msword+c# не знают как делать.

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

Это я прозрачно намекал что сводные отчеты лучше в pdf или html делать. Ну может если приспичит то в odt формате.



Отредактировано doza_and (Май 23, 2015 20:22:48)

Офлайн

#4 Май 23, 2015 21:29:57

alekscooper
Зарегистрирован: 2015-01-25
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

doza_and
Все время парсить xls и по времени накладно и по объему кода. В этом случае xlrd+xlwt недостататочно, надо еще про базы почитать и понять как делать отчеты по шаблонам. Возьмите SQLite для начала.
Спасибо! По мере сил - постараюсь Это сугубо частные задачи, там файлов будет штук 15 и каждый записей по 10 максимум.

Но как идея - да, Вы правы; я, увы, по базам данных ни одной книги не открывал никогда.

Офлайн

#5 Май 23, 2015 21:39:44

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

А Вам и не надо по базам. Открываем документацию по sqlalchemy и все становится на свои места. Сейчас удобнее и кошернее через ORM.

Офлайн

#6 Май 23, 2015 21:50:18

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

doza_and
odt - odfpy проект хороший, настроек очень много, документация просто жуткая
xlsx - XlsxWriter (возможностей просто тьма…) плюс можно потом результатик подправить в xml. Очень приятный в работе. Можно выставлять разрывы, вставлять изображения и т.п. Для 90% проектов теперь использую только его. Плюс переносимость достаточно хорошая. LibreOffice 3.Х подхватывает практически без проблем, только с отступами по краям листа небольшая беда, но привыкаешь быстро. Проверял результаты на 2003, 2007 и LibreOffoce 3.Х. Никаких существенных отклонений не обнаружено хотя задача была достаточно напряженная по внешнему виду да еще и с формулами. Рекомендую однозначно.
pyrtf - альтернатива. Жаль проект загнулся. Но если желание есть, то можно и поднять из могилы.

P.S. Вообще в одно время пытался работать с .doc. Но после 2х бессонных ночей понял, что такого рода извращения все же не для меня

Офлайн

#7 Май 23, 2015 22:12:22

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

4kpt_III
Но после 2х бессонных ночей понял, что такого рода извращения
Ну тоже пару ночей. Правда попроще не doc а docx.
XlsxWriter не подходит у нас docx
Либра не подходит. С нее не можем сделать docx с требуемым форматированием. Нам критичны размеры полей, отступы, колонтитулы, ориентация страниц, счетчики всякого рода (количество страниц иногда плывет) :(.
Беда в том что ни в либре ни в ворде нет нужного функционала. В ворде нельзя сделать отступ до и после рисунков (Как в любой нормальной конторе пустые абзацы заданного размера недопустимы для организации зазоров). Непонятно как в нумерованых списках опускать буквы о, з. В оглавлениях и подписях в тексте буквы прописные а в ссылках должны начинаться с прописных и эти комбинации разные для разных уровней вложенности ну и т.д. и т.п.. Для латеха давно уже все это прошли и вообще проблем нет. А тут накось выкусь сделай в ворде!! Читай сделай из Ворда латех.
Максимально упростили документы. Выглядят они теперь жутко! Попробуем раскрутить заказчика на отказ от ворда но не знаю пока что получится.

А вообще word_srunt нормально работает. Правда для массовой вставки рисунков пришлось еще document.xml.rels править. И пока непонятно как удобнее счетчики количества страниц рисунков и таблиц передавать между документами.



Отредактировано doza_and (Май 23, 2015 22:20:42)

Офлайн

#8 Май 23, 2015 22:34:27

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

Ну тут помочь сложно чем-то. Я бы просто отказался. Честно. “Овчинка вычинки не стоит”, как говорится. Времени уже, небось, угробили просто тьму. Я вообще если слышу, что ставят жесткие требования по итоговым решениям, то сразу сворачиваю удочки

P.S. Ну и вообще-то в libre можно было отступы по рисункам делать. А вот по остальным проблемам не знаю…

Отредактировано 4kpt_III (Май 23, 2015 22:34:50)

Офлайн

#9 Май 24, 2015 00:27:05

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

doza_and
Поделитесь опытом кто как делал? Мы с вордом вообще в первый раз плотно сцепились в этом проекте. Пока впечатление что ему только на помойке место.
В последний раз было: наваял html шаблон во writer.
PS
Мне показалось, возможно ошибочно, автор хочет сохраняться в xls.

Офлайн

#10 Май 24, 2015 00:54:36

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Работа с файлами xls (Excel) - какие библиотеки изучать?

Shaman
Мне показалось, возможно ошибочно, автор хочет сохраняться в xls.

Все верно. Просто предлагаем альтернативы. Ну и заодно беседуем о “проблемах и дилеммах”.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version