Nyílt forráskódú Python API a Google Táblázatokhoz
Python-könyvtár, amely megkönnyíti a Python meghívását az Excelből és fordítva.
Az Xlwings egy nyílt forráskódú python API az Excel fájlformátumok manipulálására. Az API segítségével automatizálhatja az Excelt a pythonból jelentések készítéséhez, UDF-ek (felhasználó által definiált függvények) írásához, makrók írásához és az Excel távoli vezérléséhez. Ezenkívül az API lehetővé teszi az adatstruktúrák, például cellák, listák, tartományok, NumPy tömbök, panda adatkeretek és panda sorozatok manipulálását.
Az Xlwings megköveteli a Microsoft Excel telepítését, így minden működik Windowson és macOS-en, kivéve azt, hogy az UDF-ek csak Windowson működnek.
Az Xlwings első lépései
Az xlwings zökkenőmentes futtatásához Python 3.5 vagy újabb verziót kell telepítenie a rendszerére. A PIP-n keresztüli telepítés javasolt módja. Kérjük, használja a következő parancsot.
Telepítse az Xlwings-t a PIP Command segítségével
pip install xlwings
Telepítse az Xlwings-t a Condán keresztül
conda install xlwings
Interakció a Python Excellel
Az Xlwings API lehetővé teszi a Microsoft Spreadsheets Python használatával történő manipulálását. Az API segítségével csatlakozhat egy meglévő munkafüzethez, vagy létrehozhat egy újat az xlwings.Book() metódussal. Értékeket olvashat/írhat tartományokba és tartományokból, kibővítheti a tartományokat, könnyen konvertálhat adattípusokat. Ezenkívül a Matplotlib és Plotly diagramokat képként is hozzáadhatja Excel-munkafüzeteihez.
Kap Dimenziók Excel Ranges Dynamically keresztül 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
Hívja a Pythont az Excelből
Az Xlwings nyílt forráskódú táblázattár lehetővé teszi a szoftverfejlesztők számára, hogy Excelen keresztül kommunikáljanak a Pythonnal. A python funcitonokat az Excelben az Xlwings Excel bővítmény Futtatás gombjával vagy a RunPython VBA funkciójával hívhatja meg. Az Excel-bővítmény használatában az a jó, hogy nem szükséges, hogy a munkafüzetek makróképesek legyenek, és elmentheti xlsx néven.
Használja a Python Scriptet az R kódok beillesztésére a Microsoft Excel-ben
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)
Felhasználó által definiált függvények (UDF-ek) az Excelben Python használatával
Az Xlwings könyvtár lehetőséget ad a fejlesztőknek arra, hogy programozottan írjanak felhasználói függvényeket (UDF) a Microsoft Excel fájlformátumba. Jelenleg az UDF-ek csak Windowson érhetők el. Az API lehetővé teszi az egyszerű funkciók használatát, a tömbméretek számát, a dinamikus tömbképleteket, az arrya képleteket a NumPy-val és még sok mást.
Hogyan hívjuk fel a Marcost RunPython-en keresztül a Microsoft Excel-ben
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