Avoimen lähdekoodin Python-sovellusliittymä Google Sheetsille
Python-kirjasto, jonka avulla Pythonin kutsuminen Excelistä on helppoa ja päinvastoin.
Xlwings on avoimen lähdekoodin python-sovellusliittymä Excel-tiedostomuodon käsittelyyn. API:n avulla voit automatisoida Excelin pythonista tuottamaan raportteja, kirjoittamaan UDF:itä (käyttäjän määrittämiä toimintoja), kirjoittaa makroja ja ohjata Exceliä etänä. Lisäksi API mahdollistaa tietorakenteiden, kuten solujen, luetteloiden, alueiden, NumPy-taulukoiden, pandatietokehysten ja pandasarjojen, manipuloinnin.
Xlwings vaatii Microsoft Excelin asennuksen, joten kaikki toimii Windowsissa ja macOS:ssä paitsi että UDF:t toimivat vain Windowsissa.
Xlwingsin käytön aloittaminen
Järjestelmässäsi on oltava Python 3.5 tai uudempi asennettuna, jotta xlwings toimii sujuvasti. Suositeltu tapa asentaa PIP:n kautta. Käytä seuraavaa komentoa.
Asenna Xlwings PIP-komennon kautta
pip install xlwings
Asenna Xlwings Condan kautta
conda install xlwings
Käytä Exceliä Pythonista
Xlwings API mahdollistaa Microsoft Spreadsheets -taulukoiden manipuloinnin Pythonilla. API:n avulla voit muodostaa yhteyden olemassa olevaan työkirjaan tai luoda uuden käyttämällä xlwings.Book()-menetelmää. Voit lukea/kirjoittaa arvoja alueille ja alueilta, laajentaa alueita ja muuntaa tietotyyppejä helposti. Lisäksi voit lisätä Matplotlib- ja Plotly-kaavioita kuvina Excel-työkirjoihin.
Hanki Excel-alueiden mitat dynaamisesti Pythonin kautta
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
Soita Python Excelistä
Avoimen lähdekoodin taulukkolaskentakirjasto Xlwings antaa ohjelmistokehittäjille mahdollisuuden olla yhteydessä Pythoniin Excelin kautta. Voit kutsua python-funktioita Excelin sisällä joko käyttämällä Xlwings Excel -lisäosan Run-painiketta tai käyttämällä RunPython VBA -toimintoa. Hyvä puoli Excel-apuohjelman käyttämisessä on, että työkirjojen ei tarvitse olla makro-käytössä, ja voit tallentaa sen xlsx-muodossa.
Käytä Python Scriptiä QR-koodien lisäämiseen Microsoft Exceliin
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)
Käyttäjän määrittämät funktiot (UDF) Excelissä Pythonilla
Xlwings-kirjasto antaa kehittäjille mahdollisuuden kirjoittaa User Defined Funcitons (UDF) -tiedostoja Microsoft Excel -tiedostomuotoon ohjelmallisesti. Tällä hetkellä UDF:t ovat käytettävissä vain Windowsissa. API mahdollistaa yksinkertaisten funktioiden, taulukoiden mittojen määrän, dynaamisten taulukkokaavojen, arrya-kaavojen ja NumPy:n käytön.
Kuinka kutsua makroja RunPythonin kautta Microsoft Excelissä
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