跳转到主要内容

用于操作SQLite数据库的CLI工具和Python库

项目描述

sqlite-utils

PyPI Changelog Python 3.x Tests Documentation Status codecov License discord

Python CLI工具和库,用于操作SQLite数据库。

一些功能亮点

  • 管道JSON(或CSV或TSV)直接插入到新的SQLite数据库文件中,自动创建具有适当模式的表
  • 运行内存中的SQL查询,包括连接,直接针对CSV、TSV或JSON文件中的数据,并查看结果
  • 配置SQLite全文搜索,针对您的数据库表运行搜索查询,按相关性排序
  • 运行表格转换,以进行SQLite ALTER TABLE不直接支持的架构更改,例如更改列的类型
  • 提取列到单独的表中,以更好地规范化现有数据
  • 安装插件以添加自定义SQL函数和附加功能

在我的博客上了解更多信息,包括关于sqlite-utils的新功能的这一系列文章 sqlite-utils中的新功能 和其他 标记为sqliteutils的条目

安装

pip install sqlite-utils

或者如果您使用macOS的 Homebrew

brew install sqlite-utils

作为CLI工具使用

现在您可以使用CLI工具执行如下操作

$ sqlite-utils memory dogs.csv "select * from t"
[{"id": 1, "age": 4, "name": "Cleo"},
 {"id": 2, "age": 2, "name": "Pancakes"}]

$ sqlite-utils insert dogs.db dogs dogs.csv --csv
[####################################]  100%

$ sqlite-utils tables dogs.db --counts
[{"table": "dogs", "count": 2}]

$ sqlite-utils dogs.db "select id, name from dogs"
[{"id": 1, "name": "Cleo"},
 {"id": 2, "name": "Pancakes"}]

$ sqlite-utils dogs.db "select * from dogs" --csv
id,age,name
1,4,Cleo
2,2,Pancakes

$ sqlite-utils dogs.db "select * from dogs" --table
  id    age  name
----  -----  --------
   1      4  Cleo
   2      2  Pancakes

您可以像这样将JSON数据导入新的数据库表中

$ curl https://api.github.com/repos/simonw/sqlite-utils/releases \
    | sqlite-utils insert releases.db releases - --pk id

或者对于CSV文件中的数据

$ sqlite-utils insert dogs.db dogs dogs.csv --csv

sqlite-utils memory 允许您将CSV或JSON数据导入内存数据库,并使用单个命令对其执行SQL查询

$ cat dogs.csv | sqlite-utils memory - "select name, age from stdin"

查看 完整的CLI文档,了解更多命令的全面介绍。

作为库使用

您还可以导入 sqlite_utils 并像这样将其用作Python库

import sqlite_utils
db = sqlite_utils.Database("demo_database.db")
# This line creates a "dogs" table if one does not already exist:
db["dogs"].insert_all([
    {"id": 1, "age": 4, "name": "Cleo"},
    {"id": 2, "age": 2, "name": "Pancakes"}
], pk="id")

查看 完整的库文档,了解您可以使用Python库执行的所有操作。

相关项目

  • Datasette: 一个用于探索和发布数据的工具
  • csvs-to-sqlite: 将CSV文件转换为SQLite数据库
  • db-to-sqlite: 将MySQL或PostgreSQL数据库导出为SQLite文件的CLI工具
  • dogsheep: 一系列用于个人分析的工具,基于 sqlite-utils 构建

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

sqlite_utils-3.37.tar.gz (212.0 kB 查看哈希值)

上传时间

构建分布

sqlite_utils-3.37-py3-none-any.whl (67.7 kB 查看哈希值)

上传时间 Python 3

由以下支持