跳转到主要内容

将YAML文件转换为SQLite的工具

项目描述

yaml-to-sqlite

PyPI Changelog Tests License

将YAML文件的 内容加载到SQLite数据库表中。

$ yaml-to-sqlite --help
Usage: yaml-to-sqlite [OPTIONS] DB_PATH TABLE YAML_FILE

  Convert YAML files to SQLite

Options:
  --version             Show the version and exit.
  --pk TEXT             Column to use as a primary key
  --single-column TEXT  If YAML file is a list of values, populate this column
  --help                Show this message and exit.

用法

给定一个包含以下内容的news.yml文件

- date: 2021-06-05
  body: |-
    [Datasette 0.57](https://docs.datasette.io/en/stable/changelog.html#v0-57) is out with an important security patch.
- date: 2021-05-10
  body: |-
    [Django SQL Dashboard](https://simonwillison.net/2021/May/10/django-sql-dashboard/) is a new tool that brings a useful authenticated subset of Datasette to Django projects that are built on top of PostgreSQL.

运行此命令

$ yaml-to-sqlite news.db stories news.yml

将创建具有此模式的数据库文件

$ sqlite-utils schema news.db
CREATE TABLE [stories] (
   [date] TEXT,
   [body] TEXT
);

可以使用--pk选项将列设置为表的主键

$ yaml-to-sqlite news.db stories news.yml --pk date
$ sqlite-utils schema news.db
CREATE TABLE [stories] (
   [date] TEXT PRIMARY KEY,
   [body] TEXT
);

单列YAML列表

当YAML文件是值列表时,可以使用--single-column选项,例如一个名为dogs.yml的文件,包含以下内容

- Cleo
- Pancakes
- Nixie

运行此命令

$ yaml-to-sqlite dogs.db dogs.yaml --single-column=name

将创建一个名为dogs的单个表,其中有一个名为name的单列,该列是主键

$ sqlite-utils schema dogs.db
CREATE TABLE [dogs] (
   [name] TEXT PRIMARY KEY
);
$ sqlite-utils dogs.db 'select * from dogs' -t
name
--------
Cleo
Pancakes
Nixie

项目详情


下载文件

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

源分发

yaml-to-sqlite-1.0.tar.gz (8.0 kB 查看哈希)

上传时间:

构建分发

yaml_to_sqlite-1.0-py3-none-any.whl (8.7 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面