Python удалить столбец excel
Деловой мир использует Microsoft Office Отказ Их решение для программного решения для электронного таблица, Microsoft Excel особенно популярен. Excel используется для хранения табличных данных, создания отчетов, тенденций графика и многое другое. Перед погружением в работу с Excel с Python давайте уточним особую терминологию:
В этой статье вы будете использовать Python для работы с электронными таблицами Excel. Вы узнаете о следующем:
- Пакеты Python Excel
- Получение листов из рабочей книги
- Чтение ячейки данных
- Итализация по рядам и колонкам
- Написание электронных таблиц Excel
- Добавление и удаление листов
- Добавление и удаление строк и столбцов
Давайте узнаем, как работать с электронными таблицами Microsoft Excel, используя язык программирования Python сейчас!
Пакеты Python Excel
Opennyxl не является вашим единственным выбором. Есть несколько других пакетов, которые поддерживают Microsoft Excel:
Пару лет назад первые два раньше были самыми популярными библиотеками для использования с документами Excel. Однако автор этих пакетов перестал их поддерживать. Упаковка XLWINGS имеет много обещаний, но не работает на всех платформах и требует, чтобы Microsoft Excel установлена.
Вы будете использовать opennyxl в этой статье, потому что она активно разработана и поддерживается. OpenPyXL не требует установки Microsoft Excel, и он работает на всех платформах.
Вы можете установить OpenPyXL, используя Пип :
После завершения установки давайте узнаем, как использовать OpenPyXL, чтобы прочитать электронную таблицу Excel!
Получение листов из рабочей книги
Не стесняйтесь использовать свой собственный файл, хотя вывод из вашего собственного файла не будет соответствовать выходу образца в этой книге.
Следующим шагом является запись некоторых кода, чтобы открыть электронную таблицу. Для этого создайте новый файл с именем Open_Workbook.py И добавьте этот код к нему:
В этом примере вы импортируете load_workbook () от openpyxl а потом создайте Open_Workook () который принимает путь к вашей электронной таблице Excel. Далее вы используете load_workbook () создать opennyxl.workbook.workbook.workbook объект. Этот объект позволяет получить доступ к листам и ячейке в вашей электронной таблице. И да, у него действительно есть двойная Рабочая книга в его названии. Это не опечатка!
Остальные Open_Workook () Функция демонстрирует, как распечатать все текущие определенные листы в вашей электронной таблице, получите текущий активный лист и распечатайте название этого листа.
Когда вы запускаете этот код, вы увидите следующий вывод:
Теперь, когда вы знаете, как получить доступ к листам в электронной таблице, вы готовы перейти к доступ к данным клетки!
Чтение ячейки данных
Когда вы работаете с Microsoft Excel, данные хранятся в ячейках. Вам нужен способ получить доступ к теми ячейкам из Python, чтобы иметь возможность извлечь эти данные. OpenPyXL делает этот процесс прямо вперед.
Создать новый файл с именем Workbook_cells.py И добавьте этот код к нему:
Этот код загрузит файл Excel в рабочей книге OuterPyXL. Вы будете захватывать активный лист, а затем распечатать его Название и пара разных клеточных ценностей. Вы можете получить доступ к ячейке, используя объект листа, а затем квадратные скобки с именем столбца и номером строки внутри него. Например, лист ["A2"] Получите вам ячейку в столбце «А», строка 2. Чтобы получить значение этой ячейки, вы используете ценность атрибут.
Примечание: Этот код использует новую функцию, которая была добавлена в F-струны в Python 3.8. Если вы запустите это с более ранней версией, вы получите ошибку.
Когда вы запускаете этот код, вы получите этот вывод:
Вы можете получить дополнительную информацию о ячейке, используя некоторые другие атрибуты. Добавьте следующую функцию в свой файл и обновите условный оператор в конце, чтобы запустить его:
В этом примере вы используете ряд и Колонка атрибуты клетки Объект для получения информации о строке и столбце. Обратите внимание, что столбец «А» отображается на «1», «B» на «2», Etcetera. Если бы вы были повторить документ Excel, вы можете использовать координировать атрибут, чтобы получить имя ячейки.
Когда вы запускаете этот код, вывод будет выглядеть так:
Говоря о итерации, давайте узнаем, как это сделать следующим!
Итализация по рядам и колонкам
Иногда вам нужно будет повторять все электронные таблицы или порции электронной таблицы Excel. OpenPyXL позволяет сделать это несколькими разными способами. Создать новый файл с именем iTerating_over_cells.py и добавьте следующий код:
Здесь вы загружаете электронную таблицу, а затем закрутите все клетки в столбце «А». Для каждой клетки вы распечатаете клетки объект. Вы можете использовать некоторые из атрибутов ячейки, о которых вы узнали в предыдущем разделе, если вы хотите отформатировать вывод более гранулярно.
Это то, что вы получаете от выполнения этого кода:
Вывод усечен, поскольку он будет распечатан довольно много ячейки по умолчанию. OpeAnPyXL предоставляет другие способы повторения рядов и столбцов, используя Iter_rows () и ITER_COLS () Функции. Эти методы принимают несколько аргументов:
- min_row.
- max_row.
- min_col.
- Max_Col.
Вы также можете добавить на values_only Аргумент, который говорит OwnerPyXL для возврата значения ячейки вместо элемента клеток. Продолжайте и создайте новый файл с именем iTerating_over_cell_values.py И добавьте этот код к нему:
Этот код демонстрирует, как вы можете использовать Iter_rows () Итерацию по рядам в электронной таблице Excel и распечатайте значения этих строк. Когда вы запускаете этот код, вы получите следующий вывод:
Написание электронных таблиц Excel
Создание электронной таблицы Excel с использованием OpenPyXL не принимает много кода. Вы можете создать электронную таблицу, используя Workbook () класс. Продолжайте и создайте новый файл с именем write_hello.py И добавьте этот код к нему:
Вот вы создали Workbook () и получить активный лист. Затем вы устанавливаете первые три ряда в столбцу «A» на разные строки. Наконец, вы звоните Сохранить () и пропустите это путь чтобы сохранить новый документ. Поздравляю! Вы только что создали электронную таблицу Excel с Python.
Давайте узнаем, как добавить и удалить листы в вашей рабочей книге рядом!
Добавление и удаление листов
Многие люди любят организовывать свои данные на нескольких рабочих таблицах в рабочей книге. OpenPyxl поддерживает возможность добавлять новые листы в Workbook () объект через его create_sheet () метод.
Создать новый файл с именем crosse_shiets.py И добавьте этот код к нему:
Здесь вы используете create_sheet () дважды, чтобы добавить две новые рабочие листы к рабочей книге. Второй пример показывает, как установить заголовок листа и при каком индексе вставить лист. Аргумент индекс = 1 означает, что рабочий лист будет добавлен после первого существующего листа, поскольку они проиндексируются, начиная с 0 Отказ
Когда вы запускаете этот код, вы увидите следующий вывод:
Вы можете увидеть, что новые простыни были добавлены пошаговые к вашей рабочей книге. После сохранения файла вы можете убедиться, что есть несколько рабочих листов, открывая Excel или другое приложение для совместимого Excel.
На этот раз вы держите ссылку на первый рабочий лист, который вы создаете, назначив результат к Лист1 Отказ Затем вы удалите его позже в коде. В качестве альтернативы, вы также можете удалить этот лист, используя тот же синтаксис, как и раньше, как это:
Независимо от того, какой метод вы выберете для удаления рабочего листа, выход будет одинаковым:
Теперь давайте перейдем и узнаем, как вы можете добавить и удалить строки и столбцы.
Добавление и удаление строк и столбцов
OpenPyXL имеет несколько полезных методов, которые вы можете использовать для добавления и удаления строк и столбцов в вашей электронной таблице. Вот список четырех методов, о которых вы узнаете в этом разделе:
- .insert_rows ()
- .delete_rows ()
- .insert_cols ()
- .delete_cols ()
Каждый из этих методов может принимать два аргумента:
Чтобы увидеть, как это работает, создайте файл с именем insert_demo.py . и добавьте следующий код:
Здесь вы создаете лист и вставьте новый столбец перед столбцом «A». Столбцы индексируются с 1 при контрастности, рабочие листы начнут на 0. Это эффективно перемещает все клетки в столбце A в столбец B. Затем вы вставляете два новых строки, начиная с рядка 2.
Теперь, когда вы знаете, как вставлять столбцы и строки, пришло время узнать, как их удалить.
Чтобы узнать, как удалить столбцы или строки, создайте новый файл с именем delete_demo.py и добавить этот код:
Этот код создает текст в нескольких клетках, а затем удаляет столбец A используя delete_cols () Отказ Это также удаляет два строках, начиная с 2-го ряда через delete_rows () Отказ Возможность добавления и удаления колонн и строки может быть весьма полезным, когда речь идет о организации ваших данных.
Обертывание
Благодаря широкому использованию Excel во многих отраслях отраслями является чрезвычайно полезным навыком, способным взаимодействовать с файлами Excel с помощью Python. В этой статье вы узнали о следующем:
- Пакеты Python Excel
- Получение листов из рабочей книги
- Чтение ячейки данных
- Итализация по рядам и колонкам
- Написание электронных таблиц Excel
- Добавление и удаление листов
- Добавление и удаление строк и столбцов
OpenPyXL может сделать даже больше, чем было покрыто здесь. Например, вы можете добавить формулы в ячейки, изменить шрифты и применить другие типы стилей к ячейкам с помощью OpenPyXL. Прочитайте документацию и попробуйте использовать OpenPyXL на некоторых собственных таблицах, чтобы вы могли обнаружить его полную мощность.
Во-первых, что такое фрейм данных?
Итак, ребята! В конце концов, прежде чем шагнуть к решению, нам очень необходимо понять и вспомнить значение и существование фрейма данных.
Фрейм данных-это структура данных, предлагаемая модулем Python Pandas . Он хранит значения в виде строк и столбцов. Таким образом, мы можем иметь данные в виде матрицы, представляющей сущности в виде строк и столбцов.
Фрейм данных напоминает файл Excel или CSV в реальном мире.
Как удалить столбец Из Фрейма данных Python?
Итак, поняв, что такое фрейм данных, давайте теперь сосредоточимся на методах полного удаления столбца из фрейма данных.
1. Метод Python dataframe.pop()
Мы можем использовать метод pandas.dataframe.pop() для удаления или удаления столбца из фрейма данных, просто указав имя столбца в качестве аргумента.
Кроме того, мы применили метод pop() для удаления столбца.
2. Ключевое слово Python del для удаления столбца
Ключевое слово Python del также можно использовать для прямой очистки столбца из фрейма данных. Ключевое слово del обычно используется для удаления или удаления объектов в Python.
Взгляните на приведенный ниже синтаксис!
3. Функция Python drop() для удаления столбца
Функция pandas.dataframe.drop () позволяет нам удалять значения из фрейма данных. Значения могут быть ориентированы либо на строки, либо на столбцы.
Взгляните на приведенный ниже синтаксис!
- на месте : Установив значение TRUE , изменения сохраняются в новом объекте, который создается, и он не изменяет исходный кадр данных.
- ось : 1 предназначен для операций по столбцам и 0 предназначен для операций по строкам.
Вывод
Таким образом, мы подошли к концу этой статьи. Надеюсь, что эта статья лучше поймет ваш интерес.
Не стесняйтесь комментировать ниже, если у вас возникнут какие-либо вопросы. А до тех пор Счастливого Обучения!! 🙂
Документ электронной таблицы Excel называется рабочей книгой. Каждая книга может хранить некоторое количество листов. Лист, просматриваемый пользователем в данный момент, называется активным. Лист состоит из из столбцов (адресуемых с помощью букв, начиная с A) и строк (адресуемых с помощью цифр, начиная с 1).
Модуль OpenPyXL не поставляется вместе с Python, поэтому его предварительно нужно установить:
Чтение файлов Excel
А теперь небольшой скрипт:
Как получить другой лист книги:
Как сделать лист книги активным:
Как задать имя листа:
Объект Cell имеет атрибут value , который содержит значение, хранящееся в ячейке. Объект Cell также имеет атрибуты row , column и coordinate , которые предоставляют информацию о расположении данной ячейки в таблице.
К отдельной ячейке можно также обращаться с помощью метода cell() объекта Worksheet , передавая ему именованные аргументы row и column . Первому столбцу или первой строке соответствует число 1, а не 0:
Размер листа можно получить с помощью атрибутов max_row и max_column объекта Worksheet :
Чтобы преобразовать буквенное обозначение столбца в цифровое, следует вызвать функцию
Чтобы преобразовать цифровое обозначение столбуа в буквенное, следует вызвать функцию
Для вызова этих функций загружать рабочую книгу не обязательно.
Используя срезы объектов Worksheet , можно получить все объекты Cell , принадлежащие определенной строке, столбцу или прямоугольной области.
Выводим значения второй колонки:
Выводим строки с первой по третью:
Для доступа к ячейкам конкретной строки или столбца также можно воспользоваться атрибутами rows и columns объекта Worksheet .
Выводим значения всех ячеек листа:
Выводим значения второй строки (индекс 1):
Выводим значения второй колонки (индекс 1):
Запись файлов Excel
Метод create_sheet() возвращает новый объект Worksheet , который по умолчанию становится последним листом книги. С помощью именованных аргументов title и index можно задать имя и индекс нового листа.
Метод remove() принимает в качестве аргумента не строку с именем листа, а объект Worksheet . Если известно только имя листа, который надо удалить, используйте wb[sheetname] . Еще один способ удалить лист — использовать инструкцию del wb[sheetname] .
Не забудьте вызвать метод save() , чтобы сохранить изменения после добавления или удаления листа рабочей книги.
Запись значений в ячейки напоминает запись значений в ключи словаря:
Заполняем таблицу 3x3:
Можно добавлять строки целиком:
Стилевое оформление
Для настройки шрифтов, используемых в ячейках, необходимо импортировать функцию Font() из модуля openpyxl.styles :
Ниже приведен пример создания новой рабочей книги, в которой для шрифта, используемого в ячейке A1 , устанавливается шрифт Arial , красный цвет, курсивное начертание и размер 24 пункта:
Именованные стили применяются, когда надо применить стилевое оформление к большому количеству ячеек.
Добавление формул
Формулы, начинающиеся со знака равенства, позволяют устанавливать для ячеек значения, рассчитанные на основе значений в других ячейках.
Эта инструкция сохранит =SUM(B1:B8) в качестве значения в ячейке B9 . Тем самым для ячейки B9 задается формула, которая суммирует значения, хранящиеся в ячейках от B1 до B8 .
Формула Excel — это математическое выражение, которое создается для вычисления результата и которое может зависеть от содержимого других ячеек. Формула в ячейке Excel может содержать данные, ссылки на другие ячейки, а также обозначение действий, которые необходимо выполнить.
Использование ссылок на ячейки позволяет пересчитывать результат по формулам, когда происходят изменения содержимого ячеек, включенных в формулы. Формулы Excel начинаются со знака = . Скобки () могут использоваться для определения порядка математических операции.
Примеры формул Excel: =27+36 , =А1+А2-АЗ , =SUM(А1:А5) , =MAX(АЗ:А5) , =(А1+А2)/АЗ .
Хранящуюся в ячейке формулу можно читать, как любое другое значение. Однако, если нужно получить результат расчета по формуле, а не саму формулу, то при вызове функции load_workbook() ей следует передать именованный аргумент data_only со значением True .
Настройка строк и столбцов
С помощью модуля OpenPyXL можно задавать высоту строк и ширину столбцов таблицы, закреплять их на месте (чтобы они всегда были видны на экране), полностью скрывать из виду, объединять ячейки.
Настройка высоты строк и ширины столбцов
Объекты Worksheet имеют атрибуты row_dimensions и column_dimensions , которые управляют высотой строк и шириной столбцов.
Атрибуты row_dimension s и column_dimensions представляют собой значения, подобные словарю. Атрибут row_dimensions содержит объекты RowDimensions , а атрибут column_dimensions содержит объекты ColumnDimensions . Доступ к объектам в row_dimensions осуществляется с использованием номера строки, а доступ к объектам в column_dimensions — с использованием буквы столбца.
Для указания высоты строки разрешено использовать целые или вещественные числа в диапазоне от 0 до 409. Для указания ширины столбца можно использовать целые или вещественные числа в диапазоне от 0 до 255. Столбцы с нулевой шириной и строки с нулевой высотой невидимы для пользователя.
Объединение ячеек
Ячейки, занимающие прямоугольную область, могут быть объединены в одну ячейку с помощью метода merge_cells() рабочего листа:
Чтобы отменить слияние ячеек, надо вызвать метод unmerge_cells() :
Закрепление областей
Если размер таблицы настолько велик, что ее нельзя увидеть целиком, можно заблокировать несколько верхних строк или крайних слева столбцов в их позициях на экране. В этом случае пользователь всегда будет видеть заблокированные заголовки столбцов или строк, даже если он прокручивает таблицу на экране.
У объекта Worksheet имеется атрибут freeze_panes , значением которого может служить объект Cell или строка с координатами ячеек. Все строки и столбцы, расположенные выше и левее, будут заблокированы.
Значение атрибута freeze_panes | Заблокированные строки и столбцы |
---|---|
sheet.freeze_panes = 'A2' | Строка 1 |
sheet.freeze_panes = 'B1' | Столбец A |
sheet.freeze_panes = 'C1' | Столбцы A и B |
sheet.freeze_panes = 'C2' | Строка 1 и столбцы A и B |
sheet.freeze_panes = None | Закрепленные области отсутствуют |
Диаграммы
Модуль OpenPyXL поддерживает создание гистогорамм, графиков, а также точечных и круговых диаграмм с использование данных, хранящихся в электронной таблице. Чтобы создать диаграмму, необходимо выполнить следующие действия:
- создать объект Reference на основе ячеек в пределах выделенной прямоугольной области;
- создать объект Series , передав функции Series() объект Reference ;
- создать объект Chart;
- дополнительно можно установить значения переменных drawing.top , drawing.left , drawing.width , drawing.height объекта Chart , определяющих положение и размеры диаграммы;
- добавить объект Chart в объект Worksheet .
- Объект Worksheet , содержащий данные диаграммы.
- Два целых числа, представляющих верхнюю левую ячейку выделенной прямоугольной области, в которых содержатся данные диаграммы: первое число задает строку, второе — столбец; первой строке соответствует 1, а не 0.
- Два целых числа, представляющих нижнюю правую ячейку выделенной прямоугольной области, в которых содержатся данные диаграммы: первое число задает строку, второе — столбец.
Аналогично можно создавать графики, точечные и круговые диаграммы, вызывая методы:
При работе с данными в Pandas, часто можно столкнуться с ситуацией, когда часть столбцов в Dataframe не содержат нужной нам информации и их требуется удалить, в этой статье мы рассмотрим несколько способов, как это можно сделать.
Сначала подготовим небольшой Dataframe, на основании которого будет делать все манипуляции.
import pandas as pd
city_data = 'Город':['Москва', 'Казань', 'Владивосток', 'Санкт-Петербург', 'Калининград'],
'Дата основания':['1147', '1005', '1860', '1703', '1255'],
'Площадь':['2511', '516', '331', '1439', '223'],
'Население':['11,9', '1,2', '0,6', '4,9', '0,4'],
'Погода':['8', '8', '17', '9', '12'] >
city_df = pd.DataFrame(city_data)
city_df
Основным методом, который нам предлагает Pandas для удаления столбцов, является метод drop.
Синтаксис у метода согласно документации следующий:
drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise'), где:
Способ 1. Удаление столбца по его имени в Pandas
Укажите в методе drop название того столбца, что вы хотите удалить, а параметр axis сделайте равным 1:
Обратите внимание, что синтаксис выше не изменяет исходный Dataframe, если вы хотите это сделать, то добавьте параметр inplace=True
Способ 2. Удаление столбца по его порядковому номеру в Pandas
Этим же методом мы можем удалить несколько столбцов из Pandas, указав их через запятую. Уберем столбцы Площадь и Погода:Спасибо за внимание. В качестве бонуса прикладываю ноутбук к данной статье.
Читайте также: