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 相关文章推荐
Win7上搭建Cocos2d-x 3.1.1开发环境
Jul 03 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
深入理解Python中range和xrange的区别
Nov 26 Python
python try 异常处理(史上最全)
Mar 07 Python
Python生成rsa密钥对操作示例
Apr 26 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
Python Process多进程实现过程
Oct 22 Python
使用Python生成200个激活码的实现方法
Nov 22 Python
Pytorch to(device)用法
Jan 08 Python
详解Python中的分支和循环结构
Feb 11 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
Pycharm+Python工程,引用子模块的实现
Mar 09 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
怎么使 Mysql 数据同步
2006/10/09 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
对python3新增的byte类型详解
2018/12/04 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
简单了解Python生成器是什么
2019/07/02 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
2014年国培研修感言
2014/03/09 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
应聘教师自荐信
2015/03/26 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫
Win11怎么解除儿童账号限制?Win11解除微软儿童账号限制方法
2022/07/07 数码科技