πŸ”“ Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ xls Π² Python: ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ ΠΈ инструкция

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» XLS Π² Python, Π²Π°ΠΌ потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ pandas. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:
      
import pandas as pd

df = pd.read_excel('ΠΏΡƒΡ‚ΡŒ_ΠΊ_Ρ„Π°ΠΉΠ»Ρƒ.xls')
print(df.head())
      
   

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ xls Π² Python

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Microsoft Excel (.xls) Π² Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ вычислСния ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим нСсколько способов открытия Ρ„Π°ΠΉΠ»ΠΎΠ² xls Π² Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ инструмСнты.

1. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ xlrd

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° xlrd являСтся популярным Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для чтСния Ρ„Π°ΠΉΠ»ΠΎΠ² xls Π² Python. Она Π»Π΅Π³ΠΊΠ° Π² использовании ΠΈ прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² Ρ„Π°ΠΉΠ»Π΅ xls.


import xlrd

# ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» xls
workbook = xlrd.open_workbook('file.xls')

# ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ список всСх листов Π² Ρ„Π°ΠΉΠ»Π΅
sheets = workbook.sheet_names()

# ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ лист
first_sheet = workbook.sheet_by_index(0)

# Π§ΠΈΡ‚Π°Π΅ΠΌ значСния ячСйки ΠΏΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ
value = first_sheet.cell_value(row, col)

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» xls с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ xlrd. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список листов, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ лист ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ значСния ячССк ΠΏΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ.

2. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pandas

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° pandas ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ xls Π² Python. Она прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†.


import pandas as pd

# ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» xls
dataframe = pd.read_excel('file.xls')

# ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ содСрТимоС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
print(dataframe)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ read_excel() ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pandas для открытия Ρ„Π°ΠΉΠ»Π° xls. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ DataFrame, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° xls.

3. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ openpyxl

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° openpyxl позволяСт ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ xls Π² Python ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ. Она прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания, измСнСния ΠΈ сохранСния Ρ„Π°ΠΉΠ»ΠΎΠ² Excel.


from openpyxl import load_workbook

# ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» xls
workbook = load_workbook('file.xls')

# ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ список всСх листов Π² Ρ„Π°ΠΉΠ»Π΅
sheets = workbook.sheetnames

# ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ лист
first_sheet = workbook[sheets[0]]

# Π§ΠΈΡ‚Π°Π΅ΠΌ значСния ячСйки ΠΏΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ
value = first_sheet.cell(row=row, column=col).value

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ openpyxl для открытия Ρ„Π°ΠΉΠ»Π° xls. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список листов, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ лист ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ значСния ячССк ΠΏΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ.

4. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ xlwt

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° xlwt прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ xls Π² Python. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» xls ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.


import xlwt

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» xls
workbook = xlwt.Workbook()

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ лист
sheet = workbook.add_sheet('Sheet1')

# ЗаписываСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйку с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ
sheet.write(row, col, 'Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅')

# БохраняСм Ρ„Π°ΠΉΠ» xls
workbook.save('file.xls')

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» xls с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ xlwt. ΠœΡ‹ создаСм Π½ΠΎΠ²Ρ‹ΠΉ лист, записываСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ write() ΠΈ сохраняСм Ρ„Π°ΠΉΠ» xls.

5. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pyxlsb

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° pyxlsb прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ xlsb Π² Python. Π€ΠΎΡ€ΠΌΠ°Ρ‚ xlsb являСтся Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° xls ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Ссли Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с большими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Excel.


import pyxlsb

# ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» xlsb
with pyxlsb.open_workbook('file.xlsb') as wb:
    # ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ лист
    with wb.get_sheet(1) as sheet:
        # Π§ΠΈΡ‚Π°Π΅ΠΌ значСния ячССк
        for row in sheet.rows():
            for cell in row:
                print(cell.v)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ pyxlsb для открытия Ρ„Π°ΠΉΠ»Π° xlsb. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ листы, ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ значСния ячССк ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов открытия Ρ„Π°ΠΉΠ»ΠΎΠ² xls Π² Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий способ Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ xlrd, pandas, openpyxl, xlwt ΠΈ pyxlsb ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ„Π°ΠΉΠ»Π°Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° xls. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эти инструмСнты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Excel Π² Python.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π§Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Excel Ρ„Π°ΠΉΠ»Π° Π² Python. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° openpyxl Π² Python

Python + OpenPyXl = Excel, элСктронныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ xlsx, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Π£Ρ€ΠΎΠΊΠΈ Python / Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Excel считываСм Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ docxtpl python ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

πŸΠ§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΈΡ‚ΠΎΠ½ язык программирования?πŸ–₯️ ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΈ прСимущСства ΠΏΠΈΡ‚ΠΎΠ½Π°

πŸ” Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ расстояниС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² Python?

πŸ”“ Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ xls Π² Python: ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ ΠΈ инструкция

πŸ”Ž Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список со списками python? Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

πŸ“₯ Как ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ с Π’ΠΈΠΊΠ’ΠΎΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python 🐍

πŸ” Как ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ Π² Python? ✨ ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹