小编这次要给大家分享的是pymysql获取到的数据类型是tuple怎么转化为pandas,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
我就废话不多说了,大家还是直接看代码吧!
#执行结果转化为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的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。