pylightxl
适用于 Excel XLSX 电子表格的 Python API
通过开源 Python 库生成、修改、操作和读取 Microsoft Excel XLSX 和 XLSM 文件格式。
pylightxl 入门
该库可以在 Python3 和 Python2.7.18 上顺利运行。推荐的安装方式是通过 pip:请使用以下命令。
通过 PIP 命令安装 pylightxl
pip install pylightx
通过 Python 访问和读取 Excel 电子表格
pylightxl 库使软件程序员能够在自己的应用程序中读取 Excel 文件,而无需任何外部依赖。该库允许软件开发人员只需几行 Java 代码即可读取 XLSX 和 XLSM 文件。该库还支持仅读取选定的工作表。它还支持从给定的 excel 文件中访问和读取特定的列或行。
通过Python API读取Excel表格
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
通过 Python 创建 Excel XLSX 文件
开源 pylightxl 库提供了在自己的应用程序中只用几行 Python 代码创建 Excel XLSX 文件的功能,而无需安装 Microsoft Excel 文件。该库仅支持单元格数据写入,目前不支持图形、格式、图像、宏等。它允许用户从 python 数据编写新的 excel 文件,并支持添加空工作表、添加行、列、还有很多。
通过PythonAPI创建Excel LS文件
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")
通过Python API读取Semi-Structured个数据
开源 pylightxl 库包含在其自己的 Python 应用程序中读取半结构化数据的功能。有时需要从可以从任何行或列开始并且每个数据组具有任意数量的行或列的工作表中读取数据。图书馆搜索并找到数据组开始的列ID,并以与阅读书籍相同的方式读出多个表。
读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]]}