Как создавать и читать файлы Excel в Python
Электронная таблица Excel широко используется для организации, анализа и представления данных в табличном формате. Умение программно взаимодействовать с файлами Excel имеет большое значение, поскольку облегчает автоматизацию и интеграцию функциональности Excel в программные приложения. В этой статье мы покажем, как создавать и читать документы Excel в Python с помощью Библиотека Python Excel.
- Создание документа Excel в Python
- Чтение данных из рабочего листа в Python
Установите библиотеку
Это решение требует установки в качестве зависимости Spire.XLS for Python, которая представляет собой библиотеку Python для чтения, создания и работы с документами Excel XLS и XLSX в программах на Python. Вы можете установить ее, выполнив следующую команду pip.
pip install Spire.XLS
Создание документа Excel в Python
Ниже описаны шаги по созданию документа Excel с нуля с помощью Spire.XLS for Python.
- Создайте объект Workbook.
- Добавьте рабочий лист с помощью метода Workbook.Worksheets.Add().
- Запишите данные в определенные ячейки с помощью свойства Worksheet.Range.Text.
- Сохраните рабочую книгу в документ Excel с помощью метода Workbook.SaveToFile().
from spire.xls import *
from spire.xls.common import *
# Create a Workbook object
wb = Workbook()
# Remove default worksheets
wb.Worksheets.Clear()
# Add a worksheet and name it «Employee»
sheet = wb.Worksheets.Add("Employee")
# Merge the cells between A1 and G1
sheet.Range["A1:G1"].Merge()
# Write data to A1 and apply formatting to it
sheet.Range["A1«].Text = «Basic Information of Employees of Huanyu Automobile Company»
sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center
sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center
sheet.Range["A1"].Style.Font.IsBold = True
sheet.Range["A1"].Style.Font.Size = 13
# Set row height of the first row
sheet.Rows[0].RowHeight = 30
# Write data to specific cells
sheet.Range["A2«].Text = «Name»
sheet.Range["B2«].Text = «Gender»
sheet.Range["C2«].Text = «Birth Date»
sheet.Range["D2«].Text = «Educational Background»
sheet.Range["E2«].Text = «Contact Number»
sheet.Range["F2«].Text = «Position»
sheet.Range["G2«].Text = «ID»
sheet.Range["A3«].Text = «Allen»
sheet.Range["B3«].Text = «Male»
sheet.Range["C3«].Text =
sheet.Range["D3«].Text = «Bachelor»
sheet.Range["E3«].Text = «24756854»
sheet.Range["F3«].Text = «Mechanic»
sheet.Range["G3«].Text = «0021»
sheet.Range["A4«].Text = «Patrick»
sheet.Range["B4«].Text = «Male»
sheet.Range["C4«].Text =
sheet.Range["D4«].Text = «Master»
sheet.Range["E4«].Text = «59863247»
sheet.Range["F4«].Text = «Mechanic»
sheet.Range["G4«].Text = «0022»
sheet.Range["A5«].Text = «Jenna»
sheet.Range["B5«].Text = «Female»
sheet.Range["C5«].Text =
sheet.Range["D5«].Text = «Bachelor»
sheet.Range["E5«].Text = «79540352»
sheet.Range["F5«].Text = «Sales»
sheet.Range["G5«].Text = «0023»
sheet.Range["A6«].Text = «Tommy»
sheet.Range["B6«].Text = «Male»
sheet.Range["C6«].Text =
sheet.Range["D6«].Text = «Master»
sheet.Range["E6«].Text = «52014060»
sheet.Range["F6«].Text = «Mechanic»
sheet.Range["G6«].Text = «0024»
sheet.Range["A7«].Text = «Christina»
sheet.Range["B7«].Text = «Female»
sheet.Range["C7«].Text =
sheet.Range["D7«].Text = «Bachelor»
sheet.Range["E7«].Text = «35401489»
sheet.Range["F7«].Text = «HR»
sheet.Range["G7«].Text = «0025»
# Set row height of a range
sheet.Range["A2:G7"].RowHeight = 15
# Set column width
sheet.SetColumnWidth(3, 15)
sheet.SetColumnWidth(4, 21)
sheet.SetColumnWidth(5, 15)
# Set border style of a range
sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium)
sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin)
sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium)
sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black
# Save to a .xlsx file
wb.SaveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016)
Чтение данных из рабочего листа в Python
Свойство Worksheet.Range.Value возвращает числовое или текстовое значение ячейки в виде строки. Чтобы получить данные всего рабочего листа или диапазона ячеек, пройдитесь циклом по ячейкам внутри него. Ниже описаны шаги по получению данных рабочего листа с помощью Spire.XLS for Python.
- Создайте объект Workbook.
- Загрузите документ Excel с помощью метода Workbook.LoadFromFile().
- Получите конкретный рабочий лист через свойство Workbook.Worksheets[index].
- Получите диапазон ячеек, содержащих данные, с помощью свойства Worksheet.AllocatedRange.
- Итерируйте строки и столбцы, чтобы получить ячейки в диапазоне, и верните значение каждой ячейки через свойство CellRange.Value.
from spire.xls import *
from spire.xls.common import *
# Create a Workbook object
wb = Workbook()
# Load an existing Excel file
wb.LoadFromFile("C:\Users\Administrator\Desktop\NewSpreadsheet.xlsx");
# Get the first worksheet
sheet = wb.Worksheets[0]
# Get the cell range containing data
locatedRange = sheet.AllocatedRange
# Iterate through the rows
for i in range(len(sheet.Rows)):
# Iterate through the columns
for j in range(len(locatedRange.Rows[i].Columns)):
# Get data of a specific cell
print(locatedRange[i + 1, j + 1].Value + " ", end=’’)
print("")
Заключение
В этой статье вы узнали, как создавать и читать Excel на Python с помощью Spire.XLS for Python. Будучи продвинутой библиотекой Python Excel, она позволяет разработчикам выполнять широкий спектр операций с документами Excel, таких как:
Преобразование Excel в PDF в Python