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 zip文件 压缩
Dec 24 Python
Python随机生成数模块random使用实例
Apr 13 Python
在Python中marshal对象序列化的相关知识
Jul 01 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
Sep 19 Python
在Mac上删除自己安装的Python方法
Oct 29 Python
Python3批量移动指定文件到指定文件夹方法示例
Sep 02 Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 Python
python中threading和queue库实现多线程编程
Feb 06 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读取超大文件的实例代码
2012/04/01 PHP
php分页函数完整实例代码
2014/09/22 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
php eval函数一句话木马代码
2015/05/21 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
vue2.0 父组件给子组件传递数据的方法
2018/01/15 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
基python实现多线程网页爬虫
2015/09/06 Python
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
详解python中的线程与线程池
2019/05/10 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
德国家具折扣店:POCO
2020/02/28 全球购物
主管职责范文
2013/11/09 职场文书
母婴店促销方案
2014/03/05 职场文书
给小学生的新年寄语
2014/04/04 职场文书
校庆团日活动总结
2014/08/28 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
个人务虚会发言材料
2014/10/20 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
趣味运动会广播稿
2015/08/19 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android