字段名采用字符串拼接方式"("开头,")"结尾,字段值采用元组封装方式
table_name = 'my_table'
column = "(患者姓名,年龄,记录类型)"
column_value = ("张弓","23","首次病程记录")
sql = f"insert into {table_name} {column} values {column_value}"
print(sql)
cursor = connection.cursor()
cursor.execute(sql)
connection.commit()
将复杂嵌套结构的数据插入数据库
例子如下:
def insert_my_table(file_dicts, conn, table_name):
cursor = conn.cursor()
for file_dict in file_dicts:
for record_name in file_dict:
if isinstance(file_dict[record_name], list):
for record_dict in file_dict[record_name]:
column_str = '('+','.join(list(record_dict.keys()))+')'
column_value = tuple(list(record_dict.values()))
sql = f"insert into {table_name} {column_str} values {column_value}"
sql = sql.replace("'None'", "NULL").replace("None", "NULL")
cursor.execute(sql)
conn.commit()
结果:
插入成功