python字典的值保存为列表_Python遍历字典列表并保存到db

把这乱七八糟的东西换掉#UPDATED with column_names

k=0

for i in jsonobject:

# Connect to the database

conn = pymysql.connect(host='10.20.3.4', port=3306, user='root', passwd='', db='python_db')

try:

with conn.cursor() as cursor:

column_names = ['col1','col2','col3',...'col11']

column_names_str = ', '.join(column_names)

binds_str = ', '.join('%s' for _ in range(len(column_names)))

sql=("INSERT INTO `json_test` ({column_names})" \

" VALUES({binds})"

.format(column_names=column_names_str,binds=binds_str))

for data_dict in jsonobject:

values = [data_dict[column_name]

for column_name in column_names]

cursor.execute(sql, values)

print("Insert successfull!")

#UPDATED

k+=1

conn.commit()

finally:

conn.close()

return "Insert successful"

^{pr2}$

总和k对象是冗余的

另外,名称i不清楚,让我觉得它是某种索引,而实际上它不是:它是一个dict对象

我们不需要从jsonobject为每个对象创建连接,因为这是一个昂贵的操作

我们不需要在每次迭代中创建sql对象(它保持不变)

将列名存储在list/tuple中可以避免在查询和值提取中两次写入它们。在

正在创建绑定str%s, %s, ...

当我们错过/添加了太多绑定别名时,根据列数动态地保存我们的打印错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值