Open Source Python API pro Tabulky Google
Knihovna Pythonu, která usnadňuje volání Pythonu z Excelu a naopak.
Xlwings je open source python API pro manipulaci s formátem souboru Excel. Pomocí API můžete automatizovat Excel z pythonu a vytvářet sestavy, psát UDF (uživatelsky definované funkce), psát makra a ovládat Excel na dálku. Kromě toho API umožňuje manipulaci s datovými strukturami, jako jsou buňky, seznamy, rozsahy, pole NumPy, datové rámce panda a série panda.
Xlwings vyžaduje instalaci aplikace Microsoft Excel, takže vše funguje na Windows a MacOS kromě toho, že UDF fungují pouze na Windows.
Začínáme s Xlwings
Pro bezproblémový chod xlwings musíte mít na svém systému nainstalovaný Python 3.5 nebo vyšší. Doporučený způsob instalace přes PIP. Použijte prosím následující příkaz.
Nainstalujte Xlwings pomocí příkazu PIP
pip install xlwings
Nainstalujte Xlwings přes Conda
conda install xlwings
Interakce s Excelem z Pythonu
Xlwings API umožňuje manipulaci s Microsoft Spreadsheets pomocí Pythonu. Pomocí API se můžete připojit k existujícímu sešitu nebo vytvořit nový pomocí metody xlwings.Book(). Můžete číst/zapisovat hodnoty do az rozsahů, rozšiřovat rozsahy, snadno převádět datové typy. Kromě toho můžete do sešitů aplikace Excel přidat graf Matplotlib & Plotly jako obrázky.
Získejte rozměry Excel Ranges Dynamicky přes 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
Volejte Python z Excelu
Open Source tabulková knihovna Xlwings umožňuje vývojářům softwaru komunikovat s Pythonem prostřednictvím Excelu. Funkce python můžete v Excelu volat buď pomocí tlačítka Spustit v doplňku Xlwings Excel, nebo pomocí funkce RunPython VBA. Dobrá věc na použití doplňku Excel je, že nepotřebujete, aby vaše sešity měly povolená makra, a můžete je uložit jako xlsx.
Použijte skript Python pro vkládání R kódů v aplikaci 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)
Uživatelsky definované funkce (UDF) v Excelu pomocí Pythonu
Knihovna Xlwings dává vývojářům možnost programově zapisovat User Defined Funcitons (UDF) do formátu souborů Microsoft Excel. V současné době jsou UDF k dispozici pouze v systému Windows. API umožňuje používat jednoduché funkce, počet rozměrů pole, dynamické maticové vzorce, arrya vzorce s NumPy a další.
Jak volat Marcos přes RunPython v aplikaci 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