Как решить задачу 26 ЕГЭ по информатике через Excel

Обновлено: 07.07.2024

Столбцы MS Excel имеют такой шаблон, как A, B, C, …, Z, AA, AB, AC, …., AZ, BA, BB, … ZZ, AAA, AAB ….. и т. д. Другими словами, столбец 1 называется «A», столбец 2 — «B», столбец 27 — «AA».
По заданному номеру столбца найдите соответствующее имя столбца в Excel. Ниже приведены дополнительные примеры.

Рекомендуется: сначала решите проблему на «ПРАКТИКЕ», прежде чем переходить к решению.

Спасибо Mrigank Dembla за предложение нижеприведенного решения в комментарии.
Предположим, что у нас есть число n, скажем, 28. Соответственно, нам нужно напечатать имя столбца. Нам нужно взять остаток с 26.

Если остаток от 26 оказывается равным 0 (что означает 26, 52 и т. д.), тогда мы помещаем «Z» в выходную строку, и новое n становится n/26 -1, потому что здесь мы считаем, что 26 равно « Z", хотя на самом деле это 25-е место по отношению к "A".

Аналогично, если остаток не равен нулю. (например, 1, 2, 3 и т. д.), тогда нам нужно просто вставить соответствующий символ в строку и сделать n = n/26.

Наконец, мы переворачиваем строку и печатаем.

Пример:
n = 700
Остаток (n%26) равен 24. Поэтому мы помещаем «X» в выходную строку, и n становится n/26, что равно 26.
Остаток (26%26) равен 0. Итак, мы помещаем 'Z' в выходную строку, и n становится n/26 -1, что равно 0.

Ниже приведена реализация описанного выше подхода.

Питон

JavaScript

  1. Преобразуйте число в представление с основанием 26, учитывая, что у нас также есть 0 в системе.
  2. Измените представление на такое, в системе которого нет 0.

КАК? Вот пример

Шаг 1:
Представьте, что у нас есть число 676. Как получить его представление в системе с основанием 26? Точно так же, как и для двоичной системы, вместо деления и остатка на 2 мы делаем деление и остаток на 26.

  • В десятичной системе счисления для работы с нулем мы заимствуем 10 и вычитаем 1 из следующего значащего числа.
  • В системе счисления с основанием 26 для работы с нулем мы заимствуем 26 и вычитаем 1 из следующего значащего бита.

Итак, преобразуйте 10026 в систему счисления, в которой нет «0», мы получим (25 26)26
Символическое представление того же самого : YZ

Вот реализация того же:

Питон3

JavaScript

Способ 3:

Мы можем использовать рекурсивную функцию, которая определенно сократит время и повысит эффективность:

Алфавиты расположены в последовательном порядке, например: ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’. При использовании Excel вы сталкивались с тем, что нумерация столбцов и строк выполняется в алфавитном порядке.

Вот как я целенаправленно думаю о логике, как она устроена.

(В математических терминах [a , b ] означает от «a» до «b»).

[1,26] = [A,Z] (Под «1» подразумевается «A», а «26» означает «Z»). Для [27,52] это будет как [AA,AZ], Для [57,78] это будет [BA,BZ]

Логика заключается в последовательном добавлении алфавита всякий раз, когда он заканчивается до нумерации 26.

Например, если число "27" больше, чем "26", то нам просто нужно разделить на 26, мы получим остаток как 1, Мы видим "1" как "А" и может быть выполнено рекурсивно .

для этого мы будем использовать python..

<р>1. Возьмите массив и отсортируйте буквы от А до Я. (Вы также можете использовать строку импорта и функцию строки, чтобы получить «А до Я» в верхнем регистре.)

2.Если число меньше или равно ‘26’, просто возьмите букву из массива и распечатайте ее.

3.Если оно больше 26, используйте правило остатка в частном, если остаток равен нулю, есть 2 возможных способа, если частное равно «1», просто вычеркните букву из индекса [r-1]( 'r' является остатком), в противном случае вызовите функцию из числа =(q-1) и добавьте впереди буквенный индекс [r-1].

4.Если остаток не равен «0», вызовите функцию для num = (q) и добавьте впереди буквенный индекс [r-1].

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

Глядя на наборы данных Kaggle или Google, мне всегда трудно остановиться на наборе данных, чтобы опробовать новую концепцию машинного обучения, которую я недавно изучил. Свежие наборы данных публикуются каждый день на этих популярных веб-сайтах, и усилия по поиску подходящего для нового проекта быстро становятся непосильными.

Думая об этом, а также из-за того, что я не смог найти в Интернете ни одного подходящего составленного списка, основанного на задачах, я решил сделать его сам — на самом деле основной список, к которому я всегда буду возвращаться. когда мне нужно выбрать набор данных для отработки недавно приобретенного навыка.

И, надеюсь, это будет полезно и для вас!

О чем эта статья, а не о ней

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

Однако, пожалуйста, не думайте, что это исчерпывающий список наборов данных для задач машинного обучения — ни я, ни кто-либо другой не в состоянии просмотреть каждый набор данных, доступный на каждом веб-сайте.

Хорошо, теперь, когда с этим покончено, давайте продолжим список. 😃

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

Я включаю наборы данных, которые использовал на протяжении всего своего пути в науке о данных, включая личные любимые, а также некоторые, которые я надеюсь попробовать в будущем.

Многоцелевые наборы данных — для тестирования любого большого и маленького алгоритма

    — Набор данных для опробования всех видов базовых и продвинутых алгоритмов машинного обучения для бинарной классификации, а также для выполнения расширенной разработки функций. — Набор данных для выполнения задач классификации изображений с несколькими классами на основе различных категорий, таких как одежда, обувь, сумки и т. д. — Задача бинарной классификации для хороших или плохих кредитных рейтингов, если люди могут быть подвержены риску невыплаты кредитов по кредитным картам. s— классификация изображений для этих трех классов.

Наборы данных регрессии

    — Классический набор данных для разминки мышц регрессии. — Также хорошо поэкспериментировать с навыками EDA. — почти то же, что нет. 1.

Общие проблемы классификации

    — Прогнозировать наличие порока сердца у больного на основании ряда признаков. — Классифицировать вероятность сердечного приступа — для бинарной классификации. — Определить, попадает ли учащийся на основе различных характеристик.

Проблемы с классификацией изображений

    — Для классификации типа пневмонии на рентгенограммах пациентов. — Мультиклассовая классификация по трем типам категорий — с маской, без маски и неправильно надетая маска. Хороший вариант для классификации природных пейзажей по 6 категориям.

Системы рекомендаций

    — Классический для начала, предскажи, какой фильм порекомендовать. — Подробная информация о книгах в многочисленных столбцах для создания механизма рекомендации книг. Это мой личный фаворит для получения удовольствия от выполнения задачи рекомендации. — коллекция фильмов и подробностей о телешоу до 2019 года, которая также отлично подходит для практического ознакомления с реальным приложением.

Анализ временных рядов

    — Для прогнозирования продаж/транзакций для магазина. Классическая работа по прогнозированию временных рядов. — Этот набор данных описывает минимальные дневные температуры за 10 лет в городе Мельбурн, Австралия. — Имеет измерения потребления электроэнергии в одном домохозяйстве с минутной периодичностью замеров в течение 4 лет.

Большие текстовые наборы данных для задач НЛП

    — Классический набор данных для задачи анализа настроений. Немного перегружен, да, но, несомненно, отличный. — Благодаря большому количеству исследовательских статей о Covid с полным текстом, это отличный набор данных для начала с обобщения текста, семантического поиска и систем ответов на вопросы.
  1. Arxiv Dataset – коллекция исследовательских работ arxiv для создания систем генерации текстов, реферативного обобщения и ответов на вопросы. — Выявление сарказма в заголовках новостей, задача классификации. s — 60 000 вопросов на SO для прогнозирования тегов вопросов, а также классификации вопроса на основе оценок как высокого или низкого качества.

Текст — оптическое распознавание символов

    — Здесь содержится около четырехсот тысяч написанных от руки имен, хороший набор данных для задачи распознавания текста.

Спасибо за чтение! Я постараюсь регулярно обновлять этот список и, надеюсь, включу в него еще несколько типов проблем.

Я регулярно пишу о науке о данных и стараюсь, чтобы это было интересно моим читателям. Следуйте за мной, чтобы получать новые статьи прямо в вашей ленте. :)

В этой статье мы обсудим два самых популярных инструмента для анализа данных: Excel и Python. Мы рассмотрим, как каждый из этих инструментов работает в различных аспектах, чтобы помочь вам сделать следующие шаги в профессиональном развитии и обучении.

Python и Excel для анализа данных

Таблицы Excel являются стандартом в деловом мире для всех видов задач анализа данных. Несмотря на то, что простота Excel делает его настолько распространенным, она также накладывает некоторые ограничения. Python, с другой стороны, — это язык программирования, который обычно используется для анализа данных и науки о данных. Мы сравним Python и Excel по нескольким важным аспектам.

Python vs Excel Infographic< бр />

1. Простота использования

Excel – наиболее широко используемый инструмент для управления и анализа данных, и его простота использования, вероятно, во многом этому способствует. Большинство людей в деловом мире имеют некоторый базовый уровень комфорта при использовании Excel, поскольку они часто используют файлы Excel для различных задач. Excel можно использовать для простых вещей, таких как управление списками контактов, создание расписаний или графиков, а также основные расчеты. Все эти задачи требуют минимальных знаний Excel и могут быть освоены довольно быстро. Нередко пользователи переходят от нулевого знания Excel к среднему или продвинутому уровню знаний всего за несколько дней (как вы можете с нашим трехдневным учебным курсом по Excel)

Вы можете скачать Excel за считанные минуты и начать писать свои первые формулы с помощью краткого руководства. Всего за пару минут вступления вы можете начать делать несколько вещей, таких как добавление чисел, поиск средних значений и даже создание диаграмм. Excel — идеальный инструмент для тех, кто работает с данными или просто хочет следить за расписанием, но не обязательно слишком углубляться в анализ данных.

Python, с другой стороны, имеет довольно крутую кривую обучения, если у вас мало или совсем нет опыта программирования. Одна из самых сложных задач для непрограммистов — настроить правильную среду для использования Python. Вам нужно будет использовать командную строку или окно терминала для загрузки Python и статистических библиотек с помощью установки pip.

Кроме того, потребуется некоторое время, чтобы научиться манипулировать данными и обрабатывать их с помощью кодирования данных, а не щелчка по ним в графическом интерфейсе пользователя (GUI) Excel. Более крутая кривая обучения Python делает его немного менее популярным инструментом анализа данных для случайного пользователя. При этом все больше и больше компаний переходят на облачные инфраструктуры данных, такие как Amazon Web Services и Google Cloud Platform, для хранения своих данных. Тенденция в области больших данных и облачных хранилищ заставляет сотрудников приобретать определенные знания в области программирования и обработки запросов для работы в компаниях, ориентированных на данные.

К счастью, существует несколько бесплатных ресурсов и относительно недорогих обучающих программ. Это снижает барьер для входа в изучение Python, и никогда не было более легкого времени для изучения того, как использовать Python, пока у вас есть решимость учиться.

В целом, начать работу с Excel гораздо проще, и он намного удобнее для пользователя, несмотря на наличие нескольких бесплатных инструментов, предназначенных для облегчения изучения Python.

Победитель: Excel

Диаграмма Excel

2. Масштабируемость и большие данные

Когда дело доходит до масштабирования и работы с большими и множественными наборами данных, у Python есть ряд серьезных преимуществ, которые нельзя упускать из виду. Excel может обрабатывать только ограниченный объем данных, и чем больше данных и вкладок в вашей книге, тем сложнее становится управлять ею и тем медленнее будет работать файл.

Это часто приводит к сбою программы и потере всей несохраненной работы. На самом деле Excel не предназначен для использования в качестве полноценного хранилища данных с множеством таблиц и миллионами записей. Это становится еще медленнее и более подвержено сбоям, когда вы делитесь файлом в облаке со своими товарищами по команде через SharePoint. Когда вы используете Python, вы можете сохранить свои данные в виде отдельного файла и написать свой код в виде другого файла, взаимодействующего с данными. Это дает много преимуществ в скорости вычислений и стабильности, поскольку вы потенциально можете обрабатывать миллионы строк данных.

По мере увеличения объема используемых данных создание базы данных и взаимодействие с языками запросов, такими как MySQL или PostgreSQL, станут более полезными. К счастью, вы можете беспрепятственно писать SQL-запросы и программировать на Python в одном блокноте, чтобы обрабатывать извлеченные данные. Такие ноутбуки, как Jupyter Notebook, позволяют очень быстро обрабатывать большие объемы данных, и это предпочтительное решение при работе с большими данными из-за его контейнерного характера.

Допустим, вы работаете с миллионами строк данных или множеством таблиц. В Excel было бы кошмаром перемещаться вверх и вниз по всем этим строкам или создавать формулы на нескольких листах. Кроме того, вы не можете видеть проделанную работу в своем анализе, поэтому, если вы допустите ошибку, вы не сможете вернуться к своей ошибке, чтобы исправить ее. Работа в контейнерных средах, таких как Jupyter Notebook, поможет вам легко исправлять ошибки и показывать свою работу так, как вас просил учитель математики в пятом классе.

В Python количество строк или столбцов данных на самом деле ничего не меняет, потому что вы не взаимодействуете с данными в интерфейсе. Тем не менее, вы по-прежнему можете получить доступ и визуально проверить разделы вашего фрейма данных на случай, если есть выбросы или определенные точки интереса, которые вы хотите проверить, не загружая весь фрейм данных, как в Excel.В случае работы с несколькими листами или таблицами Python также значительно упрощает эту задачу, поскольку вы можете легко объединять/объединять данные из разных таблиц в определенных полях.

Excel — это мощное средство, но Python усовершенствует ваш рабочий процесс обработки данных и аналитики, поскольку вы можете интегрировать извлечение данных, обработку и аналитику в одной среде. Самое главное, вы можете показать всю свою работу в контейнерах, что облегчит исправление ошибок, чем Excel. Работа с языком программирования в основном становится необходимостью, когда вы имеете дело с большими данными или большим количеством наборов данных.

Победитель: Python

3. Возможности автоматизации

Одним из модных словечек в наши дни является "автоматизация", и это правильно. Автоматизация может быть чрезвычайно полезна для устранения повторяющихся задач, которые отнимают много драгоценного времени. Все больше и больше предприятий в значительной степени управляются данными, а это означает, что отчетность и анализ являются основой многих ролей. Эти отчеты и анализы могут охватывать большое количество таблиц и данных и могут занимать много времени.

К счастью, использование Python может помочь автоматизировать большую часть вашей работы, чтобы ее можно было легко воспроизвести или автоматизировать. Скажем, нам нужно составить ежемесячный отчет с различными разбивками показателей продаж, это может легко означать 10 различных графиков. Если бы мы хотели переделывать это в Excel каждый месяц, нам пришлось бы извлекать наши данные, создавать 10 сводных таблиц или диаграмм, а затем копировать их в презентацию PowerPoint. Ключевым моментом является то, что нам придется выполнять этот процесс каждый месяц, и это приводит к множеству моментов, в которых могут быть допущены человеческие ошибки.

С помощью Python вы можете напрямую подключиться к нашей базе данных в Jupyter Notebook и написать около 10 запросов или фрагментов кода, которые будут агрегировать и обрабатывать наши данные для создания любых представлений, которые мы захотим. Вы также можете использовать библиотеки визуализации данных, такие как Matplotlib и Seaborn, для создания визуализаций, полностью интегрированных в Jupyter Notebook. Вы также можете запрограммировать свою программу для получения данных из базы данных в запланированное время, чтобы получить наиболее актуальный анализ.

После того как мы создадим эту записную книжку, мы можем просто нажать «Выполнить», и вся записная книжка с данными и диаграммами будет создана или обновлена ​​для нас автоматически. Это буквально экономит часы работы, значительно повышает производительность и позволяет заинтересованным сторонам более эффективно принимать решения на основе данных.

Все шаги, которые нам нужно было бы выполнять в Excel каждый месяц, можно автоматизировать с помощью Python.

Вместо того, чтобы ежемесячно создавать отчеты Excel с нуля, вы или ваши коллеги можете автоматизировать свою работу с помощью Python и просто запускать каждый месяц. Наконец, сценарий Python, который вы написали в своей записной книжке, можно было опубликовать на Github, чтобы ваши товарищи по команде могли легко отслеживать изменения в коде и модифицировать его, даже если вы покидаете компанию или находитесь в отпуске. Преемственность и передача знаний становятся намного проще.

Победитель: Python

Matplotlib Python

4. Подключение к данным

Наконец, наши аналитические инструменты могут быть полезны только в том случае, если у нас есть доступ к данным, которые нам нужно проанализировать. В зависимости от типа работы, которую вы выполняете, один инструмент может быть лучше другого. Если вы работаете с облачными данными, то подключение этих данных к Python через контейнерный блокнот, такой как Jupyter Notebook, является большим преимуществом. Как упоминалось в разделе об автоматизации, вы можете написать блоки кода для подключения и анализа данных в облаке и использовать те же сценарии для мгновенного повторения этих процессов в запланированное время по вашему выбору.

Подключение к облачным данным также возможно с помощью Excel, но это немного сложнее, и Excel на самом деле не предназначен для потоковой передачи больших объемов данных. Excel добился успехов в этой категории, что делает его намного лучшим инструментом, но по сравнению с Python у него нет такого же уровня подключения или возможностей интеграции. Excel был создан задолго до того, как были изобретены большие данные и платформы облачных данных. Первоначально он был разработан как инструмент для составления финансовой отчетности и не может обрабатывать тот объем данных, который современные компании используют для принятия бизнес-решений.

С другой стороны, если мы работаем с базовыми отчетами, скажем, экспортируемыми из почтового клиента или сайта Shopify, то Excel, вероятно, будет более простым вариантом, поскольку этот формат обычно используется по умолчанию для такого экспорта. При этом файлы Excel также можно импортировать в записную книжку Python с вашего локального компьютера, если вы предпочитаете использовать Python для всех своих анализов.

Наконец, у Python есть отличные библиотеки с открытым исходным кодом, такие как Pandas, которые могут считывать и объединять наборы данных из разных источников, таких как Excel, CSV и JSON, в один формат. Уже одно это невероятно полезно для извлечения и обработки данных, которые превратят ваши необработанные данные во что-то более ценное и закрытое.

Победитель: Python

Ключевые выводы

Хотя главным преимуществом Excel является простота и легкость развертывания, Python – это мощное решение для обработки данных и аналитики. Это универсальный и мощный инструмент для аналитиков, работающих в компаниях, ориентированных на данные, и любителей, стремящихся улучшить свои аналитические навыки, поскольку он может легко обрабатывать огромные объемы данных, автоматизировать отчетность и беспрепятственно подключаться к базам данных с ноутбука. Кроме того, с 2016 года Python неизменно считается самым популярным языком благодаря множеству статистических библиотек с открытым исходным кодом и активным участникам сообщества, которые делают Python еще лучше.

Подводя итог, можно понять и сравнить Excel и Python следующими способами:

  • Excel лучше всего подходит для выполнения небольших однократных анализов или быстрого создания базовых визуализаций. Благодаря графическому интерфейсу легко стать промежуточным пользователем без особого опыта.
  • Python сложнее изучить, потому что вам нужно загрузить множество пакетов и установить правильную среду разработки на своем компьютере. Тем не менее, он обеспечивает большую поддержку при работе с большими данными и создании воспроизводимых, автоматизированных анализов и углубленных визуализаций.

Если вас привлекают возможности Python для аналитики и обработки данных и вы хотите узнать больше, просмотрите наши курсы и сертификаты по Python. Если вы считаете, что начать работу с Excel — правильный следующий шаг, посмотрите наши курсы Excel, предлагаемые нашей партнерской школой NYIM Training.


Excel считается одним из самых популярных и широко используемых приложений для работы с электронными таблицами, разработанных Microsoft. Вы можете организовывать, анализировать и хранить свои данные в табличных листах с помощью Excel. От аналитиков и менеджеров по продажам до генеральных директоров, профессионалы из любой области используют Excel для создания быстрой статистики и обработки данных. Эти функции делают Excel одним из самых популярных источников данных в программах Python.

В современном мире электронные таблицы широко используются из-за их интуитивно понятного характера и способности обрабатывать большие наборы данных. Самое главное, они могут работать без какой-либо предварительной технической подготовки.

Найти различные способы работы с Excel с помощью кода очень важно, поскольку работа с данными и в Python имеет ряд серьезных преимуществ по сравнению с пользовательским интерфейсом Excel. Разработчики Python реализовали способы чтения, записи и управления документами Excel. Курс программирования Python под руководством инструктора — это хороший способ получить практический опыт использования Excel в Python.

Вы можете проверить качество своего приложения для работы с электронными таблицами, просмотрев контрольный список ниже:

  • Может ли электронная таблица представлять статические данные?
  • Может ли электронная таблица совмещать данные, расчеты и отчеты?
  • Являются ли данные в вашей электронной таблице полными и непротиворечивыми?
  • Имеет ли электронная таблица организованную структуру рабочего листа?

Этот контрольный список поможет вам проверить качественный характер приложения для работы с электронными таблицами, над которым вы собираетесь работать.

Практическое применение

В этой статье мы будем использовать openpyxl для работы с данными. С помощью этого модуля вы можете извлекать данные из базы данных в электронную таблицу Excel или конвертировать электронную таблицу Excel в программный формат. Может быть много возможных ситуаций, когда вам может понадобиться использовать такой пакет, как openpyxl. Давайте обсудим некоторые из них, чтобы получить полное представление о нем.

Импорт новых продуктов в базу данных

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

Теперь, если вы хотите импортировать именно эти данные, вам нужно выполнить итерацию по каждой строке электронной таблицы, а затем добавить каждый из продуктов в базу данных интернет-магазина.

Экспорт данных базы данных в электронную таблицу

Представьте, что у вас есть таблица базы данных. В этой конкретной таблице вы собрали информацию обо всех ваших пользователях, включая их имя, контактный номер, адрес электронной почты и так далее. Теперь команда маркетинга готова коллективно связаться со всеми пользователями и продвигать новый продукт компании. Однако у них нет ни доступа к базе данных, ни представления об использовании SQL для извлечения информации.

В этой ситуации на помощь приходит openpyxl. Вы можете эффективно использовать его для повторения каждой записи пользователя и преобразования необходимой информации в электронную таблицу Excel.

Добавление информации к существующей электронной таблице

Рассмотрите тот же пример интернет-магазина, который мы обсуждали выше. У вас есть электронная таблица Excel со списком пользователей, и ваша задача состоит в том, чтобы добавить к каждой строке общую сумму, которую они потратили в вашем магазине.

Чтобы выполнить это, вы должны сначала прочитать электронную таблицу, а затем выполнить итерацию по каждой строке и получить общую потраченную сумму из базы данных. Наконец, вам нужно записать его обратно в электронную таблицу.

Запуск openpyxl

Вы можете установить пакет openpyxl с помощью pip. Откройте терминал и напишите следующую команду:

После того, как вы установили электронную таблицу, вы можете создать свою собственную простую электронную таблицу:

Как читать электронные таблицы Excel с помощью openpyxl

Давайте начнем с самого важного, что вы можете сделать с электронной таблицей, т.е. прочитайте это. Мы будем использовать набор данных Watch Sample, который содержит список из 100 часов с такой информацией, как название продукта, идентификатор продукта, отзыв и т. д.

Простой способ чтения электронной таблицы Excel

Давайте начнем с открытия нашего образца электронной таблицы:

В приведенном выше примере кода мы открываем электронную таблицу с помощью load_workbook, а затем проверяем все листы, с которыми можно работать, с помощью workbook.sheetnames. Затем лист 1 автоматически выбирается с помощью workbook.active, так как это первый доступный лист. Это наиболее распространенный способ открытия электронной таблицы.

Теперь давайте посмотрим на код для извлечения данных из электронной таблицы:

Вы можете получить как фактическое значение, так и значение ячейки. Чтобы получить фактическое значение, используйте .value, а чтобы получить ячейку, вы можете использовать .cell():

Импорт данных из электронной таблицы

В этом разделе мы обсудим, как перебирать данные и преобразовывать их в более удобный формат с помощью Python.

Давайте сначала пройдемся по данным. Существует ряд методов итерации, которые зависят исключительно от пользователя.

Вы можете нарезать данные с помощью комбинации строк и столбцов:

Вы также можете перебирать набор данных, переключаясь между строками и столбцами:

Python предлагает аргументы, с помощью которых вы можете установить ограничения на итерацию с помощью генераторов Python, таких как .iter_rows() и .iter_cols():

Вы также можете добавить логическое значение values_only в приведенном выше примере и установить для него значение True, чтобы получить значения ячейки:

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

Рассмотрите ситуацию, когда вы хотите извлечь информацию о продукте из примера электронной таблицы, а затем сохранить ее в словаре. Ключом к словарю будет идентификатор продукта.

Преобразование данных в классы Python

Чтобы преобразовать данные в классы данных Python, давайте сначала решим, что мы хотим хранить и как это хранить.

Два основных элемента, которые можно извлечь из данных, следующие:

1. Продукты 2. Обзор

• Идентификатор • Идентификатор
• Название • Идентификатор клиента
• Родитель • Заголовок
• Категория • Тело
• Дата

Давайте реализуем два элемента:

Следующий шаг — создать сопоставление между столбцами и обязательными полями:

Наконец, давайте преобразуем данные в новые структуры, которые будут анализировать данные в электронной таблице в список продуктов и объектов обзора:

После выполнения кода вы получите следующий вывод:

Добавление данных

Чтобы понять, как добавлять данные, вернемся к первому образцу электронной таблицы. Мы откроем документ и добавим в него некоторые данные:

Если вы откроете файл Excel, вы заметите, что в соседнюю ячейку добавляется дополнительный Manipulating_Data.

Написание электронных таблиц Excel с помощью openpyxl

Электронная таблица – это файл, который помогает хранить данные в определенных строках и столбцах. Мы можем вычислять и хранить числовые данные, а также выполнять вычисления с использованием формул.

Итак, давайте начнем с простых электронных таблиц и разберемся, что означает каждая строка.

Создание нашей первой простой электронной таблицы

Строка 5: чтобы создать электронную таблицу, сначала нам нужно создать пустую книгу для выполнения дальнейших операций.

Строки 8 и 9: мы можем добавить данные в определенную ячейку в соответствии с нашими требованиями. В этом примере мы видим, что два значения «first» и «program» были добавлены к определенным ячейкам на листе.

Строка 11: строка показывает, как сохранить данные после всех выполненных нами операций.

Основные операции с электронными таблицами

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

Мы уже объясняли следующий код, с помощью которого мы можем добавлять значения в электронную таблицу:

Есть еще один способ добавления значений в электронную таблицу:

Строка 1: В первой строке мы объявили ячейку и обновили ее значение.

Строка 5: мы напечатали значение ячейки как «первое», потому что в первой программе мы уже присвоили листу["A1"] значение "первое"

Строка 8: мы обновили значение ячейки как "второе", просто назначив его для cell.value .

Строки 9: В этой строке мы только что напечатали обновленное значение ячейки.

Наконец, вы должны сохранить все выполненные вами операции в электронной таблице после вызова workbook.save() .

Если ячейка не существовала при добавлении значения, openpyxl создает ячейку:

Управление строками и столбцами в электронной таблице

Вставка или удаление строк (добавление или удаление элементов строк/столбцов) — одна из самых основных операций в электронной таблице. В openpyxl. Мы можем выполнять эти операции, просто вызывая эти методы и передавая их аргументы.

Мы можем передать 2 типа аргументов методам:

Idx означает положение в индексе, а количество означает количество значений, которые мы можем хранить в электронной таблице.

Используя наши базовые знания, основанные на первой простой программе, давайте посмотрим, как мы можем использовать эти методы внутри программы:

Управление таблицами

В предыдущих примерах мы видели следующий повторяющийся фрагмент кода. Это один из способов выбора листа по умолчанию из электронной таблицы:

Однако, если вы хотите открыть электронную таблицу с несколькими листами, вы можете написать следующую команду:

Если мы хотим изменить заголовок листа, выполните следующий код:

Мы также можем СОЗДАВАТЬ / УДАЛИТЬ листы с помощью двух методов - .create_sheet() и .remove() :

Добавление фильтров в электронную таблицу

Мы можем использовать openpyxl для добавления фильтров в нашу электронную таблицу, но когда мы откроем нашу электронную таблицу, данные не будут переупорядочены в соответствии с этими сортировками и фильтрами.

Когда вы создаете электронную таблицу программным способом, и она будет отправлена ​​и использована кем-то другим, рекомендуется добавить различные фильтры и позволить людям использовать ее позже.

В приведенном ниже коде есть простой пример, показывающий, как добавить простой фильтр в электронную таблицу:

Добавление формул в электронную таблицу

Формулы — одна из наиболее часто используемых и мощных функций электронных таблиц. Используя формулы, вы можете решать различные математические уравнения с дополнительной поддержкой openpyxl, которая делает эти вычисления такими же простыми, как редактирование значения конкретной ячейки.

Давайте добавим в нашу таблицу несколько формул.

Давайте проверим среднюю звездную оценку 99 отзывов в таблице:

Теперь, если мы откроем вашу электронную таблицу и перейдем к ячейке P2, вы увидите значение 4,18181818181818.

Аналогичным образом мы можем использовать эту методологию для включения любых формул для наших требований в нашу электронную таблицу. Например, если мы хотим подсчитать количество полезных отзывов:

Добавление стилей в электронную таблицу

Это не так важно, и обычно мы не используем это в повседневном коде, но для полноты картины мы также разберем это на следующем примере.

Используя openpyxl, мы получаем несколько вариантов стилей, таких как включение шрифтов, цветов, границ и т. д.

Давайте рассмотрим пример:

Если вы хотите применить несколько стилей к одной или нескольким ячейкам в наших электронных таблицах, вы можете использовать класс NamedStyle:

Добавление диаграмм в нашу электронную таблицу

Диаграммы — это хороший способ быстро и легко вычислять и анализировать большие объемы данных. У нас есть множество диаграмм, таких как гистограмма, круговая диаграмма, линейная диаграмма и т. д.

Давайте начнем с создания новой книги с некоторыми данными:

Теперь давайте создадим гистограмму, которая будет отображать общее количество продаж каждого продукта:

Вы также можете создать линейную диаграмму, просто внеся некоторые изменения в данные:

Существует множество типов диаграмм и различных типов настроек, которые можно применить к электронной таблице, чтобы сделать ее более привлекательной.

Преобразование классов Python в электронную таблицу Excel

Теперь давайте узнаем, как преобразовать данные электронной таблицы Excel в классы Python.

Предположим, что у нас есть база данных и мы используем объектно-реляционное сопоставление для сопоставления базы данных с классами Python, а затем экспортируем объекты в электронные таблицы:

Теперь, чтобы сгенерировать некоторые случайные данные, давайте предположим, что вышеуказанные классы хранятся в файле db_classes.py, тогда:

Запустив этот код, мы получим 5 продуктов за 5 месяцев продаж со случайным количеством продаж в каждом месяце.

Теперь нам нужно преобразовать это в электронную таблицу, в которой нам нужно выполнить итерацию по данным:

Это создаст электронную таблицу с некоторыми данными из вашей базы данных.

Как работать с пандами для работы с электронными таблицами?

Мы научились работать с Excel в Python, потому что Excel — один из самых популярных инструментов, и найти способ работы с Excel очень важно.Pandas — отличный инструмент для работы с Excel в Python. Он имеет уникальные методы для чтения всех видов данных в файле Excel, и мы можем экспортировать элементы обратно в Excel, используя его.

Чтобы использовать его, сначала нам нужно установить пакет pandas:

$ pip установить панды

Затем создадим простой DataFrame:

Теперь у нас есть некоторые данные, и для их преобразования из DataFrame в рабочий лист мы обычно используем файлы . dataframe_to_rows() :

Нам нужно использовать метод read_excel для чтения данных из объекта pandas DataFrame.

Мы также можем использовать класс файлов Excel для использования нескольких листов из одного и того же файла Excel:

Индексы и столбцы позволяют легко получать доступ к данным из вашего DataFrame:

Обзор

В этой статье мы рассмотрели:

  • Как извлечь информацию из электронных таблиц
  • Как создавать электронные таблицы различными способами
  • Как настроить электронную таблицу, добавив фильтры, стили, диаграммы и т. д.
  • Как использовать панд для работы с электронными таблицами

Теперь вы хорошо осведомлены о различных типах реализации, которые вы можете выполнять с электронными таблицами с помощью Python. Однако, если вы хотите собрать больше информации по этой теме, вы всегда можете положиться на официальную документацию openpyxl. Чтобы получить больше информации о советах и ​​​​рекомендациях по Python, ознакомьтесь с нашим руководством по Python. Чтобы освоить программирование на Python, запишитесь на курс программирования на Python от KnowledgeHut .

Читайте также: