Оглавление
Установить с помощью Пипа
pip install Spire.XLS
Ссылки по теме
Файлы Excel (электронные таблицы) используются людьми во всем мире для организации, анализа и хранения табличных данных. Из-за своей популярности разработчики часто сталкиваются с ситуациями, когда им необходимо извлечь данные из Excel или создать отчеты в формате Excel. Быть способным читать файлы Excel с помощью Python открывает обширный набор возможностей для обработки и автоматизации данных. В этой статье вы узнаете, как читать данные (текстовые или числовые значения) из ячейки, диапазона ячеек или всего листа с помощью библиотеки Spire.XLS for Python.
- Чтение данных конкретной ячейки в Python
- Чтение данных из диапазона ячеек в Python
- Чтение данных из листа Excel в Python
- Чтение значения вместо формулы в ячейке в Python
Библиотека Python для чтения Excel
Spire.XLS for Python — это надежная библиотека Python корпоративного уровня для создания, записи, чтения и редактирование Excel документы (XLS, XLSX, XLSB, XLSM, ODS) в приложении Python. Он предоставляет полный набор интерфейсов, классов и свойств, которые позволяют программистам читать и написать Excel файлы с легкостью. В частности, доступ к ячейке в книге можно получить с помощью свойства Worksheet.Range, а значение ячейки можно получить с помощью свойства CellRange.Value.
Библиотеку легко установить, выполнив следующую команду pip. Если вы хотите вручную импортировать необходимые зависимости, см Как установить Spire.XLS for Python в VS Code
pip install Spire.XLS
Классы и свойства в Spire.XLS for Python API
- Класс Workbook : представляет модель книги Excel, которую можно использовать для создания книги с нуля или загрузки существующего документа Excel и внесения в него изменений.
- Класс Worksheet: представляет лист в книге.
- Класс CellRange: представляет определенную ячейку или диапазон ячеек в книге.
- Свойство Worksheet.Range: получает ячейку или диапазон и возвращает объект класса CellRange.
- Свойство Worksheet.AllocatedRange: получает диапазон ячеек, содержащий данные, и возвращает объект класса CellRange.
- Свойство CellRange.Value: получает числовое или текстовое значение ячейки. Но если в ячейке есть формула, это свойство возвращает формулу вместо результата формулы.
Чтение данных конкретной ячейки в Python
С помощью Spire.XLS for Python вы можете легко получить значение определенной ячейки, используя свойство CellRange.Value. Шаги для чтения данных конкретной ячейки Excel в Python следующие.
- Создание экземпляра класса рабочей книги
- Загрузите документ Excel с помощью метода LoadFromFile.
- Получите конкретный лист, используя свойство Workbook.Worksheets[index].
- Получите конкретную ячейку, используя свойство Worksheet.Range.
- Получите значение ячейки, используя свойство CellRange.Value.
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Data.xlsx"); # Get a specific worksheet sheet = wb.Worksheets[0] # Get a specific cell certainCell = sheet.Range["D9"] # Get the value of the cell print("D9 has the value: " + certainCell.Value)
Чтение данных из диапазона ячеек в Python
Мы уже знаем, как получить значение ячейки, чтобы получить значения диапазона ячеек, например определенных строк или столбцов, нам просто нужно использовать операторы цикла для перебора ячеек, а затем извлекать их одну за другой. Шаги для чтения данных из диапазона ячеек Excel в Python следующие.
- Создание экземпляра класса рабочей книги.
- Загрузите документ Excel с помощью метода LoadFromFile.
- Получите конкретный лист, используя свойство Workbook.Worksheets[index].
- Получите определенный диапазон ячеек, используя свойство Worksheet.Range.
- Используйте операторы цикла for для получения каждой ячейки в диапазоне и получения значения определенной ячейки с помощью свойства CellRange.Value.
- Python
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\\Data.xlsx"); # Get a specific worksheet sheet = wb.Worksheets[0] # Get a cell range cellRange = sheet.Range["A2:H5"] # Iterate through the rows for i in range(len(cellRange.Rows)): # Iterate through the columns for j in range(len(cellRange.Rows[i].Columns)): # Get data of a specific cell print(cellRange[i + 2, j + 1].Value + " ", end='') print("")
Чтение данных из листа Excel в Python
Spire.XLS for Python предлагает свойство Worksheet.AllocatedRange для автоматического получения диапазона ячеек, содержащего данные из рабочего листа. Затем мы просматриваем ячейки внутри диапазона ячеек, а не по всему листу, и извлекаем значения ячеек одно за другим. Ниже приведены шаги для чтения данных из листа Excel в Python.
- Создание экземпляра класса рабочей книги.
- Загрузите документ Excel с помощью метода LoadFromFile.
- Получите конкретный лист, используя свойство Workbook.Worksheets[index].
- Получите диапазон ячеек, содержащий данные, из листа, используя свойство Worksheet.AllocatedRange.
- Используйте операторы цикла for для получения каждой ячейки в диапазоне и получения значения определенной ячейки с помощью свойства CellRange.Value.
- Python
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\\Data.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("")
Чтение значения вместо формулы в ячейке в Python
Как упоминалось ранее, когда ячейка содержит формулу, свойство CellRange.Value возвращает саму формулу, а не ее значение. Если мы хотим получить значение, нам нужно использовать метод str(CellRange.FormulaValue). Ниже приведены шаги для чтения значения, а не формулы в ячейке Excel в Python.
- Создание экземпляра класса рабочей книги.
- Загрузите документ Excel с помощью метода LoadFromFile.
- Получите конкретный лист, используя свойство Workbook.Worksheets[index].
- Получите конкретную ячейку, используя свойство Worksheet.Range.
- Определите, содержит ли ячейка формулу, используя свойство CellRange.HasFormula.
- Получите значение формулы ячейки, используя метод str(CellRange.FormulaValue).
- Python
from spire.xls import * from spire.xls.common import * # Create a Workbook object wb = Workbook() # Load an Excel file wb.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Formula.xlsx"); # Get a specific worksheet sheet = wb.Worksheets[0] # Get a specific cell certainCell = sheet.Range["D4"] # Determine if the cell has formula if(certainCell.HasFormula): # Get the formula value of the cell print(str(certainCell.FormulaValue))
Заключение
В этой записи блога мы узнали, как считывать данные из ячеек, областей ячеек и листов в Python с помощью API Spire.XLS для Python. Мы также обсудили, как определить, содержит ли ячейка формулу, и как получить значение формулы. Эта библиотека поддерживает извлечение многих других элементов Excel, таких как изображения, гиперссылки и объекты OEL. Ознакомьтесь с нашей онлайн-документацией для получения дополнительных руководств. Если у вас есть какие-либо вопросы, пожалуйста, свяжитесь с нами по электронной почте или на форуме.