pandas实现to_sql将DataFrame保存到数据库中


Posted in Python onJuly 03, 2019

目的

在数据分析时,我们有中间结果,或者最终的结果,需要保存到数据库中;或者我们有一个中间的结果,如果放到数据库中通过sql操作会更加的直观,处理后再将结果读取到DataFrame中。这两个场景,就需要用到DataFrame的to_sql操作。

具体的操作

连接数据库代码

import pandas as pd
from sqlalchemy import create_engine
# default
engine = create_engine('mysql+pymysql://ledao:ledao123@localhost/pandas_learn')
original_data = pd.read_sql_table('cellfee', engine)
original_data

结果如下所示。

pandas实现to_sql将DataFrame保存到数据库中

对数据进行汇总,每个小区的电费进行求和放到Series中,然后将所有小区的总电费放到DataFrame中,最后将DataFrame保存到数据库中,代码如下所示。

all_cells = []
for k, v in original_data.groupby(by=['cityid', 'cellid']):
onecell = pd.Series(data=[k[0], k[1], v['fee'].sum()], index=['cityid', 'cellid', 'fee_sum'])
all_cells.append(onecell)
all_cells = pd.DataFrame(all_cells)
all_cells.to_sql(name='cells_fee', con=engine, chunksize=1000, if_exists='replace', index=None)

对于DataFrame的to_sql函数,需要注意的参数在代码中已经写出来,其中比较重要的是chunksize、if_exists和index。
chunksize可以设置一次入库的大小;if_exists设置如果数据库中存在同名表怎么办,‘replace'表示将表原来数据删除放入当前数据;‘append'表示追加;‘fail'则表示将抛出异常,结束操作,默认是‘fail';index=接受boolean值,表示是否将DataFrame的index也作为表的列存储。

最终存表的结果如下图所示。

pandas实现to_sql将DataFrame保存到数据库中

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中尾递归用法实例详解
Apr 28 Python
python中利用队列asyncio.Queue进行通讯详解
Sep 10 Python
在Python中增加和插入元素的示例
Nov 01 Python
想学python 这5本书籍你必看!
Dec 11 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
使用python os模块复制文件到指定文件夹的方法
Aug 22 Python
opencv 获取rtsp流媒体视频的实现方法
Aug 23 Python
python+selenium 点击单选框-radio的实现方法
Sep 03 Python
Django1.11自带分页器paginator的使用方法
Oct 31 Python
Python tkinter布局与按钮间距设置方式
Mar 04 Python
教你用python实现12306余票查询
Jun 30 Python
python实现控制COM口的示例
Jul 03 #Python
python pandas时序处理相关功能详解
Jul 03 #Python
在linux下实现 python 监控usb设备信号
Jul 03 #Python
django-allauth入门学习和使用详解
Jul 03 #Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 #Python
Python使用线程来接收串口数据的示例
Jul 02 #Python
使用Python在Windows下获取USB PID&VID的方法
Jul 02 #Python
You might like
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
js 与或运算符 || && 妙用
2009/12/09 Javascript
javascript打印输出json实例
2013/11/11 Javascript
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
JavaScript File分段上传
2016/03/10 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
微信小程序实现多张图片上传功能
2020/11/18 Javascript
Python中多线程thread与threading的实现方法
2014/08/18 Python
python基础知识小结之集合
2015/11/25 Python
socket + select 完成伪并发操作的实例
2017/08/15 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
如何用SQL语句进行模糊查找
2015/09/25 面试题
IBatis持久层技术
2016/07/18 面试题
学前教育教师求职自荐信
2013/09/22 职场文书
公司领导推荐信
2013/11/12 职场文书
大四学年自我鉴定
2013/11/13 职场文书
大学生求职计划书
2014/04/30 职场文书
淘宝客服工作职责
2014/07/11 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
运动会广播稿200字(10篇)
2014/10/12 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
国庆节主题班会
2015/08/15 职场文书
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js