dataset: 为懒人准备的数据库#
虽然在关系型数据库中管理数据有很多好处,但它们很少在日常工作中用于处理中小型数据集。但为什么呢?为什么我们看到大量数据存储在 CSV 或 JSON 格式的静态文件中,即使它们难以查询和增量更新呢?
答案是 **程序员很懒**,因此他们倾向于选择他们找到的最简单的解决方案。在 **Python** 中,数据库并不是存储一堆结构化数据的最简单解决方案。这就是 **dataset** 要改变的地方!
**dataset** 提供了一个简单的抽象层,它消除了大多数直接的 SQL 语句,而无需完整的 ORM 模型 - 本质上,数据库可以像 JSON 文件或 NoSQL 存储一样使用。
使用 **dataset** 的简单数据加载脚本可能如下所示
import dataset
db = dataset.connect('sqlite:///:memory:')
table = db['sometable']
table.insert(dict(name='John Doe', age=37))
table.insert(dict(name='Jane Doe', age=34, gender='female'))
john = table.find_one(name='John Doe')
这里有 类似的代码,没有 dataset。
功能#
**自动模式**:如果写入的表或列在数据库中不存在,它将自动创建。
**Upserts**:记录将被创建或更新,具体取决于是否可以找到现有版本。
**兼容性**:基于 SQLAlchemy 构建,
dataset
支持所有主要数据库,例如 SQLite、PostgreSQL 和 MySQL。
内容#
贡献者#
dataset
由 Friedrich Lindenberg、Gregor Aisch 和 Stefan Wehrmeyer 编写和维护。它的代码主要基于之前的库 sqlaload 和 datafreeze。当然,我们站在 巨人的肩膀上。
我们可爱的 裸鼹鼠 是由 Johannes Koch 绘制的。