API на Python с отворен код за Google Таблици
Python библиотека, която улеснява извикването на Python от Excel и обратно.
Xlwings е API на python с отворен код за манипулиране на файлов формат на Excel. С помощта на API можете да автоматизирате Excel от Python, за да създавате отчети, да пишете UDF (дефинирани от потребителя функции), да пишете макроси и да контролирате Excel от разстояние. Освен това API позволява манипулиране на структури от данни като клетки, списъци, диапазони, масиви NumPy, рамки с данни на панда и серии на панда.
Xlwings изисква инсталирането на Microsoft Excel, така че всичко работи на Windows и macOS, с изключение на това, че UDF работи само на Windows.
Първи стъпки с 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