pylightxl
Python API för Excel XLSX-kalkylblad
Generera, modifiera, manipulera och läs Microsoft Excel XLSX- och XLSM-filformat via Python-bibliotek med öppen källkod.
pylightxl är ett lättviktigt Python-bibliotek med öppen källkod som ger mjukvaruutvecklare möjlighet att arbeta med Microsoft Excel-filer i sin egen applikation utan beroenden. Biblioteket har gett stöd för att läsa och skriva Excel-kalkylblad med Python-kommandon.
Biblioteket har inkluderat lässtöd XLSX- och XLSM-kalkylarksfilformat och skrivstöd för XLSX-filformat. Biblioteket är väldigt enkelt att använda och installera då det bara finns en enda källfil som kan behöva kopieras direkt till ett projekt. Biblioteket har inkluderat stöd för flera viktiga funktioner, som att läsa excel-filer, läsa alla eller valda ark, bättre minneshantering och hastighet, läsa en viss rad eller kolumn, uppdatera raddata, lägga till eller ta bort kolumner från ett ark och många fler .
Komma igång med pylightxl
Biblioteket kan köras smidigt på både Python3 och Python2.7.18. Det rekommenderade sättet att installera är via pip: Använd följande kommando.
Installera pylightxl via PIP Command
pip install pylightx
Få åtkomst till och läs Excel-kalkylblad via Python
Pylightxl-biblioteket ger programvaruprogrammerare möjlighet att läsa Excel-filer i sina egna applikationer utan några externa beroenden. Biblioteket tillåter mjukvaruutvecklare att läsa XLSX- och XLSM-filer med bara ett par rader Java-kod. Biblioteket ger också stöd för att endast läsa utvalda kalkylblad. Det stöder också åtkomst till och läsning av en specifik kolumn eller rad från en given excel-fil.
Läs Excel Spreadsheet via Python API
import pylightxl as xl
# readxl returns a pylightxl database that holds all worksheets and its data
db = xl.readxl(fn='folder1/folder2/excelfile.xlsx')
# pylightxl also supports pathlib as well
my_pathlib = pathlib.Path('folder1/folder2/excelfile.xlsx')
db = xl.readxl(my_pathlib)
# pylightxl also supports file-like objects for django users
with open('excelfile.xlsx', 'rb') as f:
db = xl.readxl(f)
# read only selective sheetnames
db = xl.readxl(fn='folder1/folder2/excelfile.xlsx', ws=('Sheet1','Sheet3'))
# return all sheetnames
db.ws_names
Skapa en Excel XLSX-fil via Python
Pylightxl-biblioteket med öppen källkod har gett möjligheten att skapa Excel XLSX-filer med bara ett par rader Python-kod i sina egna applikationer utan att installera Microsoft Excel-fil. Biblioteket stöder endast celldataskrivning och stöder för närvarande inte grafer, formatering, bilder, makron, etc. Det tillåter användare att skriva en ny excel-fil från pythondata och stöder funktioner som att lägga till ett tomt kalkylblad, lägga till rader, kolumner, och många fler.
Skapa Excel LS-fil via Python API
import pylightxl as xl
# take this list for example as our input data that we want to put in column A
mydata = [10,20,30,40]
# create a blank db
db = xl.Database()
# add a blank worksheet to the db
db.add_ws(ws="Sheet1")
# loop to add our data to the worksheet
for row_id, data in enumerate(mydata, start=1)
db.ws(ws="Sheet1").update_index(row=row_id, col=1, val=data)
# write out the db
xl.writexl(db=db, fn="output.xlsx")
Läs Semi-Structured Data via Python API
Pylightxl-biblioteket med öppen källkod har inkluderat möjligheten att läsa semistrukturerad data i sina egna Python-applikationer. Ibland krävs det att man läser data från ett ark som kan börja på vilken rad eller kolumn som helst och har valfritt antal rader eller kolumner per datagrupp. Biblioteket söker upp och hittar kolumn-ID:n där datagrupper startar och läser upp flera tabeller på samma sätt som du skulle läsa en bok.
Läs Semi-Structured Data via Python API
import pylightxl
db = pylightxl.readxl(fn='Book1.xlsx')
# request a semi-structured data (ssd) output
ssd = db.ws(ws='Sheet1').ssd(keycols="KEYCOLS", keyrows="KEYROWS")
ssd[0]
>>> {'keyrows': ['r1', 'r2', 'r3'], 'keycols': ['c1', 'c2', 'c3'], 'data': [[1, 2, 3], [4, '', 6], [7, 8, 9]]}
ssd[1]
>>> {'keyrows': ['rr1', 'rr2', 'rr3', 'rr4'], 'keycols': ['cc1', 'cc2', 'cc3'], 'data': [[10, 20, 30], [40, 50, 60], [70, 80, 90], [100, 110, 120]]}