A Python wrapper around Lark bitable to sql.
Project description
pybitable
from pybitable import Connection, ConnectionPool
db_url = 'bitable+pybitable://<app_id>:<app_secret>@open.feishu.cn/<app_token>'
# 支持使用personal_base_token访问多维表格,这里建议使用后面一种写法,sqlalchemy打印日志的时候,会将personal_base_token当成密码显示星号
db_url = 'bitable+pybitable://<personal_base_token>@open.feishu.cn/<app_token>'
db_url = 'bitable+pybitable://:<personal_base_token>@open.feishu.cn/<app_token>'
conn_pool = ConnectionPool(
maxsize=10,
connection_factory=lambda: Connection(db_url),
)
with conn_pool.connect() as connection:
print('connect', connection)
cursor = connection.cursor()
result = cursor.execute('select * from tbl2w2QJgo6YCthm')
cursor.close()
using sqlalchemy
from sqlalchemy import create_engine, Column, String, Text, text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
engine = create_engine(db_url, echo=False)
Session = sessionmaker(bind=engine)
session = Session()
with engine.connect() as conn:
result = conn.execute(
text("select `文本` as a from tblID0QbOnjktwdC")
)
for row in result:
print(f"{row}")
Base = declarative_base()
class BITable1(Base):
__tablename__ = 'tblID0QbOnjktwdC'
record_id = Column(String(32), primary_key=True)
文本 = Column(Text, nullable=True, server_default=text("''"), comment="文本")
单选 = Column(String(32), nullable=True, server_default=text("''"), comment="单选")
多选 = Column(Text, nullable=True, server_default=text("''"), comment="多选")
Session = sessionmaker(bind=engine)
session = Session()
for item in session.query(BITable1).all():
print('record_id: ', item.record_id, '文本: ', item.文本, '单选', item.单选, '多选', item.多选)
print('engine', engine, BITable1)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pybitable-0.0.4.tar.gz
(8.3 kB
view details)
File details
Details for the file pybitable-0.0.4.tar.gz
.
File metadata
- Download URL: pybitable-0.0.4.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | af84538098f778af0d0fd11d8db3eda531fe05973955762c77d90ecc8bee7335 |
|
MD5 | 3bbe1b1d1aedb0811ba23f8f876718d7 |
|
BLAKE2b-256 | 50c7ee62c024b7b2a007050b7b217088bbfd7f695bcfed0e75a3afa849d777e5 |