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实现微信公众平台自定义菜单实例
Mar 20 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
python版本坑:md5例子(python2与python3中md5区别)
Jun 20 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
python 从文件夹抽取图片另存的方法
Dec 04 Python
实例讲解Python脚本成为Windows中运行的exe文件
Jan 24 Python
详解python算法之冒泡排序
Mar 05 Python
python的几种矩阵相乘的公式详解
Jul 10 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
查看Python依赖包及其版本号信息的方法
Aug 13 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
pycharm代码删除恢复的方法
Jun 26 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中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
[02:38]DOTA2亚洲邀请赛小组赛精彩集锦:Wings完美团击溃对手
2017/03/29 DOTA
python不带重复的全排列代码
2013/08/13 Python
用python代码做configure文件
2014/07/20 Python
分享Python开发中要注意的十个小贴士
2016/08/30 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
详解Python之unittest单元测试代码
2018/01/24 Python
Anaconda入门使用总结
2018/04/05 Python
Python Django的安装配置教程图文详解
2019/07/17 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
德尔福集团DELPHI的笔试题
2012/02/22 面试题
副主任竞聘演讲稿
2014/08/18 职场文书
教师党员个人总结
2015/02/10 职场文书
《秋思》教学反思
2016/02/23 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python