python - sqlite python - 从txt文件中读取记录到表中

标签 python sqlite

我创建了一个 python 脚本来设置 SQLite 数据库并创建一个表,现在我尝试从 .txt 文件将值读入表中,如下所示

import  sqlite3
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()

c.execute('''CREATE TABLE mytable
         (var1 TEXT,
         var2 REAL)''')

c.execute('separator "," ')

c.execute('import records.txt myTable ')

conn.commit()

for row in c.execute('SELECT * FROM myTable'):
    print(row)

conn.close()

records.txt 看起来像

item1, 8.8
item2, 9.1

当我从命令行运行 python 代码时,我得到

    c.execute('separator "," ')
sqlite3.OperationalError: near "separator": syntax error

这里如何使用分隔符sql语句,也许导入语句也会出现同样的问题?

如何让这段代码工作?

最佳答案

我认为 Python 模块 sqlite3 不可能做到这一点。 .separator(对我来说只有前导点)命令以及 .import 是 CLI 前端的 sqlite3 的功能。

如果你想使用这些,你可以使用 subprocess 来调用命令:

import subprocess

p = subprocess.Popen(["sqlite3", "mydatabase.db"], stdout=subprocess.PIPE, stdin=subprocess.PIPE)

p.communicate(b"""
CREATE TABLE mytable
         (var1 TEXT,
         var2 REAL);
.separator ","
.import records.txt myTable
""")

关于python - sqlite python - 从txt文件中读取记录到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57903952/

相关文章:

python - 计算 keras 模型中的 PIL 逊系数时遇到 AttributeError : 'NoneType' object has no attribute '_inbound_nodes'

python - 无法获取网址

java - java swing SQLite删除特定行

java - 我如何检查我的 sqlite 表中是否有数据?

database - 如何增加/加倍 SQLite 数据库文件的大小

python - 解释 lambda argparse.HelpFormatter(prog, width)

python - 如何将整个Python应用程序添加到azure databricks中并运行它?

python - 从字典的特定元素创建列表

c# - 在 url 调用上重新启动 c# windows 服务

c++ - 根据正则表达式从 QT (C++) 中的 SQLite 数据库中检索记录