我创建了一个 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/