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 相关文章推荐
Python2.5/2.6实用教程 入门基础篇
Nov 29 Python
python发腾讯微博代码分享
Jan 10 Python
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
Dec 15 Python
python操作excel的包(openpyxl、xlsxwriter)
Jun 11 Python
python 获得任意路径下的文件及其根目录的方法
Feb 16 Python
Python 2/3下处理cjk编码的zip文件的方法
Apr 26 Python
Python中six模块基础用法
Dec 08 Python
Django数据库操作之save与update的使用
Apr 01 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
用python进行视频剪辑
Nov 02 Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 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
多重?l件?合查?(二)
2006/10/09 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
Laravel 添加多语言提示信息的方法
2019/09/29 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2021/03/09 PHP
js 浮动层菜单收藏
2009/01/16 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
jQuery事件与动画基础详解
2017/02/23 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Python Series从0开始索引的方法
2018/11/06 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
Python之指数与E记法的区别详解
2019/11/21 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
社区包粽子活动方案
2014/01/21 职场文书
内勤主管岗位职责
2014/04/03 职场文书
实习协议书范本
2014/04/22 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
投资入股合作协议书
2014/10/28 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
2015年仓库工作总结
2015/04/09 职场文书
党员证明信
2015/06/19 职场文书
如何撰写创业策划书
2019/06/27 职场文书
Pandas搭配lambda组合使用详解
2022/01/22 Python