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

MS Excel предоставляет удобный способ хранения и обмена данными в виде строк и столбцов. Чаще файлы Excel используются для хранения огромных наборов данных, содержащих сотни и тысячи записей. При работе с файлами Excel в Python вам может потребоваться прочитать данные из каждой ячейки на листах. Для этого в этой статье показано, как читать файл Excel в Python. Вы узнаете, как читать данные с одного листа или со всех листов в книге Excel.

Библиотека Python для чтения файлов Excel

Для чтения данных из книг мы будем использовать Aspose.Cells для Python через Java. Это мощная и многофункциональная библиотека Python для создания файлов MS Excel. Более того, он позволяет беспрепятственно читать существующие файлы Excel и управлять ими. Вы можете скачать библиотеку или установить ее с помощью следующей команды pip.

pip install aspose-cells

Чтение файла Excel в Python

Прежде чем мы начнем читать данные, давайте рассмотрим, как данные управляются в файле Excel. Файл Excel называется рабочей книгой, которая действует как контейнер. Каждая рабочая книга содержит один или несколько рабочих листов, и каждый рабочий лист состоит из нескольких ячеек. Эти ячейки однозначно идентифицируются строками и столбцами. Итак, чтобы прочитать данные из ячейки, вам нужно знать ее индекс строки и столбца.

Ниже приведены шаги для чтения файла Excel и печати его данных в Python.

  • Загрузите файл Excel, используя класс Workbook.
  • Получите ссылку на WorksheetCollection с помощью метода Workbook.getWorksheets().
  • Переберите рабочие листы в коллекции и в каждой итерации выполните следующие шаги:
    • Получить ссылку на рабочий лист в объекте.
    • Получить количество строк и столбцов данных на листе.
    • Начать цикл для строк.
    • Запустите вложенный цикл для столбцов.
    • Считайте данные из каждой ячейки, используя метод Worksheet.getCells().get(rowIndex, columnIndex).getValue().

В следующем примере кода показано, как читать файл Excel в Python.

# Load Excel workbook
wb = Workbook("workbook.xlsx")

# Get worksheets collection
collection = wb.getWorksheets()
collectionCount = collection.getCount()

# Loop through all the worksheets
for worksheetIndex in range(collectionCount):

    # Get worksheet using its index
    worksheet = collection.get(worksheetIndex)

    # Print worksheet name
    print("Worksheet: " + str(worksheet.getName()))

    # Get number of rows and columns
    rows = worksheet.getCells().getMaxDataRow()
    cols = worksheet.getCells().getMaxDataColumn()

    # Loop through rows
    for i in range(rows):

        # Loop through each column in selected row
        for j in range(cols):
            # Print cell value
            print(worksheet.getCells().get(i, j).getValue(), end =" | ")

        # Print line break
        print("\n")

Ниже приведен вывод, который мы получаем после запуска приведенного выше примера кода.

Чтение данных на листах файла Excel в Python

Чтение файла Excel в Python

Прочитайте конкретный рабочий лист в Excel на Python

Вы также можете прочитать конкретный рабочий лист в файле Excel, выполнив следующие действия.

  • Загрузите файл Excel, используя класс Workbook.
  • Получите ссылку на нужный рабочий лист, используя метод Workbook.getWorksheets().get(index).
  • Получить количество строк и столбцов данных на листе.
  • Начать цикл для строк.
  • Запустите вложенный цикл для столбцов.
  • Считайте данные из каждой ячейки, используя метод Worksheet.getCells().get(rowIndex, columnIndex).getValue().

В следующем примере кода показано, как считывать данные с определенного рабочего листа в Python.

# Load Excel workbook
wb = Workbook("workbook.xlsx")

# Get worksheets collection
worksheet = wb.getWorksheets().get(0)   

# Print worksheet name
print("Worksheet: " + str(worksheet.getName()))

# Get number of rows and columns
rows = worksheet.getCells().getMaxDataRow()
cols = worksheet.getCells().getMaxDataColumn()

# Loop through rows
for i in range(rows):

    # Loop through each column in selected row
    for j in range(cols):
        # print cell value
        print(worksheet.getCells().get(i, j).getValue(), end =" | ")

    # Print line break
    print("\n")

Получите бесплатную лицензию API

Вы можете использовать Aspose.Cells для Python через Java без ограничений по оценке, запросив бесплатную временную лицензию.

Вывод

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

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