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常用正则表达式符号浅析
Aug 13 Python
python中list循环语句用法实例
Nov 10 Python
Python中常见的数据类型小结
Aug 29 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
Jan 29 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
python中sys.argv函数精简概括
Jul 08 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
Sep 17 Python
对django中render()与render_to_response()的区别详解
Oct 16 Python
Python subprocess库的使用详解
Oct 26 Python
python设计tcp数据包协议类的例子
Jul 23 Python
python 正则表达式参数替换实例详解
Jan 17 Python
python的flask框架难学吗
Jul 31 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
PHP 文件扩展名 获取函数
2009/06/03 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
js 提交和设置表单的值
2008/12/19 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
jsonp原理及使用
2013/10/28 Javascript
JS小功能(offsetLeft实现图片滚动效果)实例代码
2013/11/28 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
vue axios请求拦截实例代码
2018/03/29 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
Python语言的面相对象编程方式初步学习
2016/03/12 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
python实现百度语音识别api
2018/04/10 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
Python如何telnet到网络设备
2021/02/18 Python
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
护理专业的自荐信
2013/10/22 职场文书
亲子拓展活动方案
2014/02/20 职场文书
延安红色之旅心得体会
2014/10/07 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
医疗纠纷调解协议书
2015/08/06 职场文书
如何书写授权委托书?
2019/06/25 职场文书