python - sqlite python - 从txt文件将记录读入表
问题描述
我创建了一个 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 语句,也许同样的问题会出现在 import 语句中?
如何让这段代码工作?
解决方案
我认为 Python 模块不可能做到这一点sqlite3
。(.separator
对我来说只有前导点)命令以及.import
, 是 CLI fronted 的功能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 - Python TypeError - 列表索引必须是整数或切片,而不是 str
- c# - 跨地图的寻路 Unity C#
- php - 如何在 PHP 中将此字符串转换为人类可读的 IP 地址?
- python - numba 中两个列表的交集
- r - 使用 R 进行硬币翻转模拟
- mysql - 单个聚合查询与多个并行查询的 MySQL 性能
- google-cloud-platform - 云数据流找不到模型
- javascript - 使用 SweetAlert 创建故事
- html - 当我从 zeplin 复制样式并将其应用于我的按钮时,它不起作用
- matlab - 使用 imagesc() 绘制 3D 矩阵的对角线切片