Python MySQLdb 批量插入 封装
def insert_data_many(dbName,list_data_dict):
try:
# 得到列表的第一个字典集合
data_dict = list_data_dict[0]
# 得到(s%,s%,s%,s%)
data_values = "(" + "%s," * (len(data_dict)) + ")"
data_values = data_values.replace(',)', ')') dbField = data_dict.keys()
dataTuple = tuple(data_dict.values())
dbField = str(tuple(dbField)).replace("'",'')
conn = MySQLdb.connect(host="xxxxxxx", user="xxxx", passwd="xxxxxx", db="xxxxxx", charset="utf8")
cursor = conn.cursor() sql = """ insert into %s %s values %s """ % (dbName,dbField,data_values) params = []
for item in list_data_dict:
params.append(tuple(item.values()))
params = tuple(params) cursor.executemany(sql, params)
conn.commit()
cursor.close() print "===== 插入成功 ====="
return 1 except Exception as e:
print "******** 插入失败 ********"
print e
return 0
使用说明:
data2 = {
"sold_price":str(sold_price),
"estimate_price":str(estimate_price),
"item_url":str(item_url),
"item_imgurl":str(item_imgurl),
"item_lotnum":str(item_lotnum),
"hashcode": hashcode,
"create_time": create_time,
}
data_list.append(data_dict)
dbName = "oversea_thierrydemaigret_2017_2_no_detail_info"
# 其中 data_list 的数据格式是: [{},{},{},{},{},{},{}]
result1 = insert_data_many(dbName, data_list)
Python MySQLdb 批量插入 封装的更多相关文章
- python mysqldb批量执行语句executemany
MySQLdb提供了两个执行语句的方法,一个是execute(),另一个是executemany() execute(sql) 可接受一条语句从而执行 executemany(templet,args ...
- python - MySQLdb 事务处理及批量执行executemany
MySQL数据库有一个自动提交事务的概念,autocommit.含义是,如果开启autocommit, 则每一个语句执行后会自动提交.即一个语句视为一个事务. 在python使用的MySQLdb中,默 ...
- python使用MySQLdb向mySQL批量插入数据的方法
该功能通过调用mySQLdb python库中的 cursor.executemany()函数完成批量处理. 今天用这个函数完成了批量插入 例程: def test_insertDB(options) ...
- [小干货]SqlBulkCopy简单封装,让批量插入更方便
关于 SqlServer 批量插入的方式,前段时间也有大神给出了好几种批量插入的方式及对比测试(http://www.cnblogs.com/jiekzou/p/6145550.html),估计大家也 ...
- Python批量插入SQL Server数据库
因为要做性能测试,需要大量造数据到数据库中,于是用python写了点代码去实现,批量插入,一共四张表 简单粗暴地插入10万条数据 import pymssql import random __auth ...
- C# 封装SqlBulkCopy,让批量插入更方便
关于 SqlServer 批量插入的方式,前段时间也有大神给出了好几种批量插入的方式及对比测试(http://www.cnblogs.com/jiekzou/p/6145550.html),估计大家也 ...
- python批量插入mysql数据库(性能相关)以及反引号的使用
参考link: https://blog.csdn.net/qq_35958094/article/details/78462800(插入相关) https://www.cnblogs.com/hya ...
- SqlBulkCopy简单封装,让批量插入更方便
关于 SqlServer 批量插入的方式,前段时间也有大神给出了好几种批量插入的方式及对比测试(http://www.cnblogs.com/jiekzou/p/6145550.html),估计大家也 ...
- python中pymysql executemany 批量插入数据
import pymysqlimport timedb = pymysql.connect("IP","username","password&quo ...
随机推荐
- 微软BI 之SSRS 系列 - 使用分组 Group 属性实现基于父子递归关系的汇总报表
基于父子关系的递归结构在公司组织结构里比较常见,基本上都是在一张表里实现的自引用关系.在报表中如果要实现这种效果,并且在这个基础上做一些数据的汇总,可以使用到下面提到的方法. 要实现的效果大致如下 - ...
- git ingore添加忽略文件无较的解决方法
一.启动Git Bash并切换到项目目录下 二.执行下列语句: git rm -r --cached . git add . git commit -m 'update .gitignore' 三.O ...
- MongoDB numa系列问题一:[initandlisten] connection refused because too many open connections:
1:Mongod日志有很多这样的报错: [initandlisten] connection refused because too many open connections: 2:查看系统的限制 ...
- 如何查看页面是否开启gzip压缩
F12 选择Network 表头右键: 如果开启了gzip则显示gzip,没有则是空. 上图是百度首页,显示已经进行gzip压缩.
- ES6学习笔记五:Promise异步任务
一:Promise对象 Promise对象代表一个异步操作,有三种状态:Pending(进行中).Resolved(已完成,又称 Fulfilled)和Rejected(已失败). 二:创建与使用 v ...
- Python学习摘录(下)
常用内建模块 1:collections模块:集合模块,提供了许多有用的集合类. namedtuple namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的 ...
- kettle Spoon.bat运行闪退
1.情景展示 启动kettle的Spoon.bat闪退,并没有进入kettle的启动界面. 2.原因分析 使用条件: jdk版本需>=1.6: java需配置环境变量. 如果满足了上述前提条 ...
- Ajax学习(二):模仿jQuery的Ajax封装工具
通过上一节的学习,基本了解Ajax的使用, 但是这样使用很麻烦,这里封装ajax为一个方法,作为一个ajax工具,传入相应参数就可以实现ajax的使用. 模仿jQuery的Ajax. 如下是jQuer ...
- C# WinForm中NotifyICon控件的用法
参考:http://blog.csdn.net/paullink520/article/details/14170021 http://www.cnblogs.com/webman/archive/2 ...
- URI -URL-URN区别
URI -URL-URN区别 URI (uniform resource identifier) 统一资源标识符,用来唯一的标识一个资源URL(uniform resource locator) ...