跳转到主要内容

将一个目录中的所有文件构建成一个SQLite数据库

项目描述

datasette-build

PyPI Changelog Tests License

将一个目录中的所有文件构建成一个SQLite数据库

⚠️ 早期预览版。关于这个工具的所有内容都可能发生变化。

安装

使用pippipx安装此工具

pipx install datasette-build

这将提供datasette-build CLI应用程序。

您还可以将其作为Datasette插件安装。首先安装Datasette,然后运行

datasette install datasette-build

这将提供一个与datasette-build CLI应用程序功能相同的datasette build ...命令。

或者,您可以将它作为sqlite-utils的插件安装。安装后,运行此命令

sqlite-utils install datasette-build

现在您可以通过sqlite-utils build ...访问该工具

用法

datasette-build(或datasette buildsqlite-utils build)命令接受两个参数:SQLite数据库文件的路径和包含要加载到该数据库中的文件的目录路径

datasette-build mydatabase.db myfiles/

myfiles/文件夹可以包含CSV、TSV和JSON文件的混合。每个文件都将加载到mydatabase.db SQLite数据库中的一个表。

如果数据库文件不存在,则将创建数据库文件。

考虑一个类似于以下内容的myfiles/cities.csv文件

id,name,latitude,longitude,country
nyc,New York City,40.7128,-74.006,US
lon,London,51.5074,-0.1278,GB
tok,Tokyo,35.6895,139.6917,JP
par,Paris,48.8566,2.3522,FR
ber,Berlin,52.52,13.405,DE
syd,Sydney,-33.8688,151.2093,AU
cai,Cairo,30.0444,31.2357,EG
rio,Rio de Janeiro,-22.9068,-43.1729,BR
mos,Moscow,55.7558,37.6173,RU
mum,Mumbai,19.076,72.8777,IN

由于这个文件有id列,因此表的键将设置为id。如果没有id列,则不会定义主键。

一个类似于以下内容的myfiles/counties.tsv文件

id	name	population
US	United States	331002651
GB	United Kingdom	67886011
JP	Japan	126476461
FR	France	65273511
DE	Germany	83783942
AU	Australia	25499884
EG	Egypt	102334404
BR	Brazil	212559417
RU	Russia	145934462
IN	India	1380004385

以及一个类似于以下内容的myfiles/museums.json文件

[
  {
    "id": 1,
    "name": "Metropolitan Museum of Art",
    "city_id": "nyc"
  },
  {
    "id": 2,
    "name": "British Museum",
    "city_id": "lon"
  }
]

运行datasette-build mydatabase.db myfiles/将在包含三个表:citiescountiesmuseums的SQLite数据库文件中创建一个SQLite数据库文件。其模式如下所示

CREATE TABLE [museums] (
   [id] INTEGER PRIMARY KEY,
   [name] TEXT,
   [city_id] TEXT
);
CREATE TABLE "cities" (
   [id] TEXT PRIMARY KEY,
   [name] TEXT,
   [latitude] FLOAT,
   [longitude] FLOAT,
   [country] TEXT
);
CREATE TABLE "countries" (
   [id] TEXT PRIMARY KEY,
   [name] TEXT,
   [population] INTEGER
);

开发

要在本地设置此插件,首先检出代码。然后创建一个新的虚拟环境

cd datasette-build
python3 -m venv venv
source venv/bin/activate

现在安装依赖项和测试依赖项

pip install -e '.[test]'

要运行测试

pytest

项目详情


下载文件

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

源分布

datasette-build-0.1a0.tar.gz (9.5 kB 查看哈希值)

上传时间

构建分布

datasette_build-0.1a0-py3-none-any.whl (10.4 kB 查看哈希值)

上传时间 Python 3

由以下支持

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