Сторонний модуль Xlswriter в Python позволяет создавать новый файл Excel, например ms-excel. Этот модуль имеет несколько функций, которые можно использовать для создания файла Excel.
Хотя цель этого руководства — показать вам, как читать файлы Excel с помощью модуля xlsxwriter, я также покажу вам, как создать файл Excel.
Чтобы использовать xlsxwriter, сначала установите этот модуль. Если вы используете Jupyter Notebook, используйте команду ниже.
!pip install xlsxwriter
Если вы используете компьютерный терминал или командную строку, выполните команду ниже.
pip install xlswriter
После установки xlswriter следующим шагом будет создание книги, которая похожа на файл ms-excel, в котором хранятся ваши данные.
Чтобы создать книгу, просто вызовите конструктор с именем Workbook() из модуля xlswriter, как показано ниже.
workbook = xlsxwriter.Workbook("user.xlsx)
Приведенный выше код создает объект рабочей книги с именем «рабочая книга», к которому вы можете добавить вкладку рабочих листов, как в MS Excel, а затем записать данные или применить форматирование.
Однако вы также можете видеть, что Workbook() принимает имя файла с расширением user.xlsx, создает execel-файл и возвращает объект рабочей книги.
Чтобы добавить рабочий лист в «рабочую книгу», используйте метод add_worksheet(), как показано ниже в коде.
worksheet = workbook.add_worksheet()
Теперь вы можете записывать данные на лист в определенные ячейки, используя такие методы, как write() и write_row() объекта «рабочий лист». Например, посмотрите на код ниже.
worksheet.write("A1", "First Name") worksheet.write("B1", "Last Name")
После записи вы должны закрыть файл с помощью метода close(), как показано ниже.
workbook.close()
Помните, если вы не закроете файл при создании нового, вы его не увидите, поэтому его необходимо закрыть.
На изображении выше изображен файл Excel, созданный пользователем в моей системе. Я открыл этот файл в MS Excel. Как видите, он содержит две ячейки, A и B, с данными для имени и фамилии.
Также обратите внимание на вкладку рабочего листа, то есть лист 1. Здесь вы открыли файл с помощью приложения MS Excel, но нам нужно открыть этот файл и прочитать данные из файла, используя функцию модуля xlsxwriter.
С помощью openpyxl
Невозможно прочитать файл Excel «user.xlsx» с помощью xlswriter, поэтому вам придется использовать другой модуль. Другой модуль — openpyxl, который позволяет создавать и читать файл Excel.
Но здесь мы увидим, как читать файл Excel, созданный модулем xlsxwriter.
Сначала установите модуль openpyxl, используя приведенный ниже код.
!pip install openpyxl OR pip install openpyxl
После установки загрузите файл Excel, который хотите прочитать. В Openpyxl есть метод load_workbook(), который принимает путь к файлу Excel, в данном случае user.xlsx.
workbook = openpyxl.load_workbook('/content/user.xlsx')
Приведенный выше код загружает файл user.xlsx из местоположения «/content/user.xlsx». Как вы знаете, этот файл Excel содержит один рабочий лист. Чтобы получить доступ к этому листу, вызовите метод Worksheets[0], как показано ниже.
worksheet = workbook.worksheets[0]
Эта строка кода workbook.worksheets[0] выбирает первый лист из книги(файл Excel). Здесь индекс 0 представляет первый рабочий лист, если ваш файл Excel содержит более одного листа, то второй лист будет иметь индекс 1 и так далее для других листов.
Кроме того, каждый рабочий лист содержит ячейки, и каждая ячейка содержит данные, поэтому в вашем случае вы создали в книге две ячейки: A1 и B1, если вы помните.
Итак, чтобы прочитать данные из каждой ячейки, вам потребуется доступ к этой ячейке. Чтобы получить доступ к этой ячейке и ее значению, передайте имя ячейки в качестве индекса на лист, как показано ниже.
data = worksheet['A1'].value
В приведенном выше коде worksheet[‘A1’].value обращается к ячейке A1 рабочего листа, использует атрибут value для доступа к значению этой ячейки и сохраняет это значение в новой переменной с именем data.
Теперь напечатайте значение переменной данных, используя приведенный ниже код.
print(data)
Посмотрите на выходные данные и успешно прочитайте данные из ячейки «A1» файла Excel «user.xlsx». Аналогично, если вы хотите получить доступ к значению ячейки «B1», просто укажите ячейку как рабочий лист[‘B1’].value.