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 相关文章推荐
pygame学习笔记(4):声音控制
Apr 15 Python
Python3 操作符重载方法示例
Nov 23 Python
Python语言实现百度语音识别API的使用实例
Dec 13 Python
对Python Pexpect 模块的使用说明详解
Feb 14 Python
Python3和pyqt5实现控件数据动态显示方式
Dec 13 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
Mar 09 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
May 11 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
python解包用法详解
Feb 17 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 Python
python爬取豆瓣电影TOP250数据
May 23 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
简单的页面缓冲技术
2006/10/09 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
AngularJS基础知识笔记之表格
2015/05/10 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
对angular4子路由&辅助路由详解
2018/10/09 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
python scp 批量同步文件的实现方法
2019/01/03 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
市场部业务员岗位职责
2014/04/02 职场文书
心理健康日活动总结
2014/05/08 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
买房子个人收入证明
2014/10/12 职场文书
教师党员个人总结
2015/02/10 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang