我就废话不多说了,大家还是直接看代码吧!

#执行结果转化为dataframe
df = pd.DataFrame(list(result))

补充知识:python pymysql注意事项

cursor.execute 与 cursor.executemany有许多不同的地方

1. execute 中字段的值是字符串形式时必须加引号,但是executemany只需要使用占位符%s,pymysql利用给的参数list自动会加上引号

2.execute返回结果都是数字,但是executemany返回结果为none和数字

3.executemany之后执行fetchall,只能返回最后一条语句执行的结果(例如执行select时)

4.insert时,如果量比较大,最好拼接value然后用execute执行,如果用executemany(sql, datalist)执行的话速度太慢。

execute十万条 12秒

2016-07-15 16:24:42,177 DEBUG my_mysql.py listsave 172 sql execute
2016-07-15 16:24:42,177 DEBUG my_mysql.py listsave 173 insert into `strategy_set` (`paramete_set_id`,`m`,`n`,`p`,`strategy`,`need_update`) (...
2016-07-15 16:24:54,394 DEBUG my_mysql.py listsave 175 sql executemany num: 128801

executemany十万条 26秒

2016-07-15 16:27:57,545 DEBUG my_mysql.py listsave 162 insert into `strategy_set` (`paramete_set_id`,`m`,`n`,`p`,`strategy`,`need_update`) VALUES (%s,%s,%s,%s,%s,%s) ON duplicate KEY UPDATE `need_update`=0
2016-07-15 16:27:57,545 DEBUG my_mysql.py listsave 163 [[37, 1, 2, 10, 'dzyj', 1], [37, 1, 2, 11, 'dzyj', 1], [37, 1, 2, 12, 'dzyj', 1], [37, 1, 2, 13, 'dzyj', 1], [37, 1, 2, 14, 'dzyj', 1], [37, 1, 2, 15, 'dzyj', 1], [37, 1, 2, 16, 'dzyj', 1], [37, 1, 2, 17, 'dzyj', 1], [37, 1, 2, 18, 'dzyj', 1], [37, 1, 2, 19, 'dzyj', 1]]...
2016-07-15 16:28:23,786 DEBUG my_mysql.py listsave 165 sql executemany num: 128801

ps:如果在sql存入或更新数据时不加引号,则默认为数字,再根据数据库中字段的类型进行转换。

如果存入000333到varchar字段中,则会得到333值。

以上这篇将pymysql获取到的数据类型是tuple转化为pandas方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?