sqlite结合python_如何在sqlite3python中插入和按列调用

所以你有一个字典,你想把它转换成一个SQL表。在

我要采取的步骤找到您需要的列。在

创建表架构。在

遍历每一行。

为每列编译一组值。在

插入。在

所以:import sqlite3

con = sqlite3.connect('simple.db')

c = con.cursor()

dic = {

'x1':{'y1':1.0,'y2':0.0},

'x2':{'y1':0.0,'y2':2.0,'y3':1.5},

'x3':{'y2':2.0,'y3':1.5}

}

# 1. Find the unique column names.

columns = set()

for cols in dic.values():

for key in cols:

columns.add(key)

# 2. Create the schema.

col_defs = [

# Start with the column for our key name

'"row_name" VARCHAR(2) NOT NULL PRIMARY KEY'

]

for column in columns:

col_defs.append('"%s" REAL NULL' % column)

schema = "CREATE TABLE simple (%s);" % ",".join(col_defs)

c.execute(schema)

# 3. Loop through each row

for row_name, cols in dic.items():

# Compile the data we have for this row.

col_names = cols.keys()

col_values = [str(val) for val in cols.values()]

# Insert it.

sql = 'INSERT INTO simple ("row_name", "%s") VALUES ("%s", "%s");' % (

'","'.join(col_names),

row_name,

'","'.join(col_values)

)

c.execute(sql)

你的其他问题也很简单:

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值