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 13 Python
Python中的面向对象编程详解(下)
Apr 13 Python
Python编程中对super函数的正确理解和用法解析
Jul 02 Python
关于numpy中np.nonzero()函数用法的详解
Feb 07 Python
Python获取当前路径实现代码
May 08 Python
对python sklearn one-hot编码详解
Jul 10 Python
python安装pywin32clipboard的操作方法
Jan 24 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 Python
Django路由层URLconf作用及原理解析
Sep 24 Python
PyQt5爬取12306车票信息程序的实现
May 14 Python
python实现对doc、txt、xls等文档的读写操作
Apr 02 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
Jquery 监视按键,按下回车键触发某方法的实现代码
2014/05/11 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
详解vue 组件注册
2020/11/20 Vue.js
Python回调函数用法实例详解
2015/07/02 Python
python分割列表(list)的方法示例
2017/05/07 Python
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
pymysql 开启调试模式的实现
2019/09/24 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
syb养殖创业计划书
2014/01/09 职场文书
银行员工辞职信范文
2014/01/20 职场文书
情侣吵架检讨书
2014/02/05 职场文书
中学生运动会入场词
2014/02/12 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
2016党员党课心得体会
2016/01/07 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript