API на Python с отворен код за Google Таблици

Python библиотека, която улеснява извикването на Python от Excel и обратно.

Xlwings е API на python с отворен код за манипулиране на файлов формат на Excel. С помощта на API можете да автоматизирате Excel от Python, за да създавате отчети, да пишете UDF (дефинирани от потребителя функции), да пишете макроси и да контролирате Excel от разстояние. Освен това API позволява манипулиране на структури от данни като клетки, списъци, диапазони, масиви NumPy, рамки с данни на панда и серии на панда.

Xlwings изисква инсталирането на Microsoft Excel, така че всичко работи на Windows и macOS, с изключение на това, че UDF работи само на Windows.

Previous Next

Първи стъпки с Xlwings

Трябва да имате Python 3.5 или по-нова версия, инсталирана на вашата система, за да работите гладко с xlwings. Препоръчителният начин за инсталиране чрез PIP. Моля, използвайте следната команда.

Инсталирайте Xlwings чрез PIP команда

pip install xlwings

Инсталирайте Xlwings чрез Conda

conda install xlwings

Взаимодействайте с Excel от Python

Xlwings API позволява манипулиране на Microsoft Spreadsheets с помощта на Python. С помощта на API можете да се свържете със съществуваща работна книга или да създадете нова, като използвате метода xlwings.Book(). Можете лесно да четете/записвате стойности в и от диапазони, да разширявате диапазони, да конвертирате типове данни. Освен това можете да добавите Matplotlib & Plotly диаграма като снимки във вашите работни книги на Excel.

Получаване на размери на Excel динамично чрез Python

sheet = xw.Book().sheets[0]
sheet['A1'].value = [[1,2], [3,4]]
range1 = sheet['A1'].expand('table')  # or just .expand()
range2 = sheet['A1'].options(expand='table')
range1.value
[[1.0, 2.0], [3.0, 4.0]]
range2.value
[[1.0, 2.0], [3.0, 4.0]]
sheet['A3'].value = [5, 6]
range1.value
[[1.0, 2.0], [3.0, 4.0]]
range2.value

Обадете се на Python от Excel

Библиотеката с електронни таблици с отворен код Xlwings позволява на разработчиците на софтуер да комуникират с Python чрез Excel. Можете да извикате функциите на python във вашия excel или чрез бутона Run на Xlwings Excel Add-In, или като използвате функцията RunPython VBA. Хубавото при използването на Excel Add-In е, че не е необходимо вашите работни книги да са активирани за макроси и можете да ги запишете като xlsx.

Използвайте Python Script, за да вмъкнете R кодове в Microsoft Excel

import tempfile
import segno
import xlwings as xw
# Update this with the name of your workbook
book = xw.Book('qr.xlsx')
sheet = xw.sheets[0]
# Update this with the starting cell of your URLs
start_cell = sheet['A1']
urls = start_cell.options(expand='down', ndim=1).value
# Loop through each URL and generate the QR code
for ix, url in enumerate(urls):
    # Generate the QR code
    qr = segno.make(url)
    with tempfile.TemporaryDirectory() as td:
        # Save the QR code as a temporary svg file. If you are on macOS, use pdf
        # instead and if you don't have Microsoft 365, you may have to use png
        filepath = f'{td}/qr.svg'
        qr.save(filepath, scale=5, border=0, finder_dark='#15a43a')
        # Insert the QR code to the right of the URL
        destination_cell = start_cell.offset(row_offset=ix, column_offset=1)
        sheet.pictures.add(filepath,
                           left=destination_cell.left,
                           top=destination_cell.top)

Дефинирани от потребителя функции (UDF) в Excel с помощта на Python

Библиотеката Xlwings дава на разработчиците възможността програмно да пишат потребителски дефинирани функции (UDF) във файловия формат на Microsoft Excel. Понастоящем UDF са налични само в Windows. API позволява използването на прости функции, брой размери на масиви, динамични формули за масиви, формули на arrya с NumPy и др.

Как да се обадите на Маркос чрез RunPython в Microsoft Excel

import xlwings as xw
@xw.sub
def my_macro():
    """Writes the name of the Workbook into Range("A1") of Sheet 1"""
    wb = xw.Book.caller()
    wb.sheets[0].range('A1').value = wb.name
 Български