pylightxl
API Python для електронних таблиць Excel XLSX
Створюйте, змінюйте, маніпулюйте та читайте формат файлів Microsoft Excel XLSX і XLSM за допомогою відкритої бібліотеки Python.
pylightxl — це легка бібліотека Python із відкритим кодом, яка дає розробникам програмного забезпечення можливість працювати з файлами Microsoft Excel у власних програмах без жодних залежностей. Бібліотека надала підтримку для читання та запису електронних таблиць Excel за допомогою команд Python.
Бібліотека включає підтримку читання форматів файлів електронних таблиць XLSX і XLSM і підтримку запису форматів файлів XLSX. Бібліотека дуже проста у використанні та встановленні, оскільки існує лише один вихідний файл, який потрібно скопіювати безпосередньо в проект. Бібліотека включає підтримку кількох важливих функцій, таких як читання файлів Excel, читання всіх або вибраних аркушів, краще керування пам’яттю та швидкість, читання певного рядка чи стовпця, оновлення даних рядка, додавання або видалення стовпців із аркуша та багато іншого .
Початок роботи з pylightxl
Бібліотека може плавно працювати як на Python3, так і на Python2.7.18. Рекомендований спосіб інсталяції через pip: скористайтеся такою командою.
Встановіть pylightxl за допомогою команди PIP
pip install pylightx
Доступ і читання таблиці Excel через Python
Бібліотека pylightxl дає програмістам можливість читати файли Excel у своїх власних програмах без будь-яких зовнішніх залежностей. Бібліотека дозволяє розробникам програмного забезпечення читати файли XLSX і XLSM за допомогою лише кількох рядків коду Java. Бібліотека також підтримує читання лише вибраного аркуша. Він також підтримує доступ і читання певного стовпця чи рядка з даного файлу Excel.
Читайте таблицю Excel через 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
Створіть файл Excel XLSX за допомогою Python
Бібліотека pylightxl з відкритим кодом надає можливість створювати файли Excel XLSX лише за допомогою кількох рядків коду Python у власних програмах без встановлення файлу Microsoft Excel. Бібліотека підтримує лише запис даних клітинок і на даний момент не підтримує графіки, форматування, зображення, макроси тощо. Вона дозволяє користувачам писати новий файл Excel із даних Python і підтримує такі функції, як додавання порожнього аркуша, додавання рядків, стовпців, і багато іншого.
Створити файл Excel LS через 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")
Читання Semi-Structured даних за допомогою Python API
Бібліотека pylightxl з відкритим вихідним кодом включає можливість читання напівструктурованих даних у їхніх власних програмах Python. Іноді потрібно прочитати дані з аркуша, який може починатися з будь-якого рядка або стовпця та має будь-яку кількість рядків або стовпців на групу даних. Бібліотека шукає та знаходить ідентифікатори стовпців, де починаються групи даних, і зчитує кілька таблиць так само, як ви читаєте книгу.
Читати Semi-Structured Дані за допомогою 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]]}