Категория

Чтение файлов Excel с помощью Python

2023-12-28 02:48:37

Файлы Excel (электронные таблицы) используются людьми во всем мире для организации, анализа и хранения табличных данных. Из-за своей популярности разработчики часто сталкиваются с ситуациями, когда им необходимо извлечь данные из Excel или создать отчеты в формате Excel. Быть способным читать файлы Excel с помощью Python открывает обширный набор возможностей для обработки и автоматизации данных. В этой статье вы узнаете, как читать данные (текстовые или числовые значения) из ячейки, диапазона ячеек или всего листа с помощью библиотеки Spire.XLS for 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)

Read Excel Files with Python

Чтение данных из диапазона ячеек в 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("")

Read Excel Files with Python

Чтение данных из листа 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("")

Read Excel Files with Python

Чтение значения вместо формулы в ячейке в 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))

Read Excel Files with Python

Заключение

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

Смотрите также