Уведомления

Группа в Telegram: присоединиться

#1 Окт. 12, 2019 19:07:29

ToMaTkuH
Зарегистрирован: 2019-10-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка данных Excel

Добрый день,
Краткая предыстория - в данный момент я работаю, с сфере торговли, в связи с чем очень часто сталкиваюсь
с обработкой данных ( таблиц Excel) с разными параметрами ( остатки, продажи с разбиением по месяцам и названиями товара), ( цены, качество и т д)
Все таблицы однообразны и стандартизированы и каждый раз мне приходится тратить уйму времени чтобы высчитать, какое количество товара исходя из предоставленных данных я должен закупить.
В голову пришла гениальная, или не очень, мысль, написать простенькую программку которая бы основные действия делала бы за меня.
Т.е. находила заданным месяцы, выбирала бы значения остатков и реализации продукции, считала средние или максимальные значения, и главное чтобы сохраняла эти значения обратно в этом же файле.
Хотел бы спросить, какой модуль, лучше всего использовать, чтобы можно было как получать данные из файла ексель так а и редактировать этот же файл ?
Я уже конечно прочитал, кучу интернет советов про openPLX, Pandas и прочее, но хотелось бы услышать совет тех кто возможно уже делал подобное, или точно знает каким модулем пользоваться лучше всего.

Офлайн

#2 Окт. 12, 2019 19:32:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 6486
Репутация: +  575  -
Профиль   Отправить e-mail  

Обработка данных Excel

ToMaTkuH
В голову пришла гениальная, или не очень, мысль, написать простенькую программку которая бы основные действия делала бы за меня.
Эта “простенькая” программа может оказаться неподъёмной для человека без опыта разработки, для человека, который не знает, как конструировать алгоритмы. Так что я бы не обольщался. Компликации при разработке могут возникать в совершенно неожиданных местах и называются “подводными камнями” именно потому, что их вообще не ждёшь.

ToMaTkuH
но хотелось бы услышать совет тех кто возможно уже делал подобное, или точно знает каким модулем пользоваться лучше всего.
Делал такую программу. Там надо было брать xls-файл, анализировать его, генерировать новые данные на основе анализа и писать их в новые листы этого же файла.
Пример преобразования xls-файла из одного вида в другой.



Отредактировано py.user.next (Окт. 12, 2019 19:35:51)

Офлайн

#3 Окт. 12, 2019 19:47:02

ToMaTkuH
Зарегистрирован: 2019-10-09
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка данных Excel

А жаль такая “хорошая” была

Офлайн

#4 Окт. 12, 2019 20:25:05

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 154
Репутация: +  6  -
Профиль   Отправить e-mail  

Обработка данных Excel

py.user.next
Эта “простенькая” программа может оказаться неподъёмной для человека без опыта разработки, для человека, который не знает, как конструировать алгоритмы. Так что я бы не обольщался. Компликации при разработке могут возникать в совершенно неожиданных местах и называются “подводными камнями” именно потому, что их вообще не ждёшь.
ToMaTkuH
А жаль такая “хорошая” была
и че теперь лапки к верху … что ж вы такой(я) … неленивые

Отредактировано AD0DE412 (Окт. 12, 2019 20:40:05)

Офлайн

#5 Окт. 12, 2019 20:35:17

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 155
Репутация: +  19  -
Профиль   Отправить e-mail  

Обработка данных Excel

Не проще ли задать всё это хозяйство формулами для расчётов в самом Excell. Там можно делать из функций длиннющие выражения, включая всякие-разные if-ы. Надо просто один раз разработать такое выражение и раскидать по листам. Порядковый номер месяца или месяц, который интересует и фигурирует в формуле, можно задавать в какой-либо конкретной ячейке и пусть формула(выражение) берёт его оттуда. К примеру месяц можно писать в ячейке, где должен располагаться заголовок колонки с формулой.
Если возможности встроенных функций не хватит, то можно подключить свои функции, написав соответствующий макрос в самом Excell. Мне думается, что вполне должно хватить мощи встроенных функций: максимум, среднее, минимум и прочие стат.расчеты делдаются всего лишь одной, соответствующей, функцией. Если мне не изменяет мой склероз, то там можно задавать диапазон ячеек как источник значений или выражение, дающее набор значений.
Давненько не работал с самим Excell, поэтому более подробную инфу не могу дать.

Офлайн

#6 Окт. 12, 2019 20:48:07

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 154
Репутация: +  6  -
Профиль   Отправить e-mail  

Обработка данных Excel

опеноффис вроде умеет в python, js, basic кроме того если у вас xls просто таблица не отегащенная макросами итд то формат *.csv поддерживается стандартной библиотекой

Офлайн

#7 Окт. 12, 2019 23:02:56

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

Обработка данных Excel

py.user.next
Эта “простенькая” программа может оказаться неподъёмной
Это да. Но с другой стороны дорогу осилит идущий. Сначала почитаете про язык. потом сделаете автоматизацию простейших вещей. Ну и пойдет потихоньку.
Rafik
Не проще ли задать всё это хозяйство формулами для расчётов в самом Excell
Зрите в коернь.

:)
Office и питон это как разные цивилизации. У меня питоновские продукты дохнут в офисной среде из за непонимания пользователей. А офисные продукты дохнут в питонячей среде от бесполезности и беспомощности.
ToMaTkuH
но хотелось бы услышать совет тех кто возможно уже делал подобное,
Периодически встречаюсь с обработкой данных. Как инструмент хранения данных для последующего анализа exel непригоден при сколько-нибудь значительном количестве данных. Общепринятый подход сразу делать импорт из exel в СУБД, а дальше уже наводить аналитику. По мере развития эксел обычно умирает и его место занимает нормальное GUI или веб или 1С. :) Шучу конечно.

Пугаться не стоит. Для чтения использовать простейший xlrd. Дальше разобраться с sqlite или mongodb или zodb что несложно.

Есть путь начинающего. Если вы уверены что данных немного и они при любом раскладе лезут в память то можно все данные держать в питон объектах полностью читая и записывая их при каждом запуске программы. Тогда вместо баз данных пользуйтесь модулем pickle.

Писать назад в эксел тоже не факт что хорошо, тут больше подходит генерация отчетов. При помощи mako например легко налепить html с метриками.

Как видите моими стараниями для эксела почти не осталось места. Точно также если вы возмете Шарп места не будет питону :)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version