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的Django框架中forms表单类的使用方法详解
Jun 21 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
python模拟登录并且保持cookie的方法详解
Apr 04 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
Python之reload流程实例代码解析
Jan 29 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
基于Python计算圆周率pi代码实例
Mar 25 Python
Django实现前台上传并显示图片功能
May 29 Python
Python pysnmp使用方法及代码实例
Aug 24 Python
Python如何批量生成和调用变量
Nov 21 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
php htmlspecialchars加强版
2010/02/16 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
Vue全局loading及错误提示的思路与实现
2019/08/09 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
python如何实现DES加密
2020/09/21 Python
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
欢迎新生标语
2014/10/06 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
毕业设计论文致谢词
2015/05/14 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server