我正在提取从一堆图像中检测到的blob图像芯片,并将这些数据存储到sqlite3数据库供以后使用。
我成功地能够过滤图像,找到blob,提取blob的图像芯片,并将文件名,blob中心坐标和blob芯片数据存储到与我的代码位于同一目录中的数据库中。
con = sqlite3.connect('./data/sources.db', detect_types = sqlite3.PARSE_DECLTYPES, timeout = 10)
cur.execute('''INSERT INTO ./data/sources (filename, ...
现在我想在几百个图像上实现这一点,并为每个图像提取数据创建一个不同的表。我想将这些表存储在与其他代码分开的文件夹中,因此我将代码更改为:
OperationalError: near ".": syntax error
但是这返回了错误./data/
。但是如果我删除了execute命令中的OperationalError: no such table: sources
部分,则会收到错误sources
。如何在/data/
命令的INSERT
文件夹中定义{{1}}表?
文档here没有显示在不同目录中的表上执行命令的示例,我还没有看到任何其他示例。
答案 0 :(得分:0)
您希望sqlite用当前文件夹路径替换.
。但它没有提供此功能。您可以改为提供完整路径
import os
SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
DB_PATH = SCRIPT_DIR + '/data/sources.db'
...
con = sqlite3.connect(DB_PATH, detect_types = sqlite3.PARSE_DECLTYPES, timeout = 10)
如果文件/表之前不存在,您应该简单地执行一种数据库初始化来创建表。但这只不过是CREATE TABLE
陈述
CREATE TABLE sources (...) VALUES ();