传入一个字典,python sqlite根据字典key和value插入的代码
时间: 2023-09-12 10:05:10 浏览: 387
### 回答1:
```python
import sqlite3
def insert_dict_to_sqlite(dict_data, table_name):
conn = sqlite3.connect('example.db')
c = conn.cursor()
columns = ', '.join(dict_data.keys())
placeholders = ':'+', :'.join(dict_data.keys())
query = f'INSERT INTO {table_name} ({columns}) VALUES ({placeholders})'
c.execute(query, dict_data)
conn.commit()
conn.close()
# example usage
data = {'name': 'John Doe', 'age': 30}
insert_dict_to_sqlite(data, 'users')
```
这段代码将字典传入函数 insert_dict_to_sqlite,并将其存入名为 "users" 的表中。需要注意的是,在使用前需要先连接到数据库并创建表。
### 回答2:
可以使用Python内置的sqlite3模块来操作SQLite数据库,并根据字典的key和value插入数据。具体代码如下:
```python
import sqlite3
def insert_data(data):
# 连接数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 创建表格(如果不存在)
cursor.execute('''CREATE TABLE IF NOT EXISTS my_table
(key TEXT, value TEXT)''')
# 插入数据
for key, value in data.items():
cursor.execute("INSERT INTO my_table (key, value) VALUES (?, ?)", (key, value))
# 提交更改并关闭连接
conn.commit()
conn.close()
# 示例字典
data = {"name": "Alice", "age": "25", "city": "New York"}
# 插入数据到数据库
insert_data(data)
```
以上代码首先导入sqlite3模块,然后定义一个名为insert_data的函数,用来插入数据。
在函数中,首先通过sqlite3.connect()函数连接到数据库,然后使用cursor()方法创建游标对象。
接着,使用execute()方法执行SQL语句,创建名为my_table的表格(如果不存在)。
然后,通过遍历字典的items()方法,获取每个键值对的键和值,并使用execute()方法将数据插入到表格中。
最后,通过commit()方法提交更改,并使用close()方法关闭数据库连接。
最后,定义一个示例字典data,并调用insert_data函数传入该字典来插入数据到数据库中。
### 回答3:
import sqlite3
def insert_data(dict_data):
conn = sqlite3.connect("example.db") # 连接到数据库
c = conn.cursor()
for key, value in dict_data.items():
c.execute("INSERT INTO table_name (key_column, value_column) VALUES (?, ?)", (key, value))
conn.commit() # 提交事务
conn.close() # 关闭数据库连接
# 使用示例
data = {'name': 'John', 'age': 25, 'gender': 'Male'}
insert_data(data)
阅读全文