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下使用Txt2Html实现网页过滤代理的教程
Apr 11 Python
Python双精度浮点数运算并分行显示操作示例
Jul 21 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
Feb 10 Python
Python反转序列的方法实例分析
Mar 21 Python
windows下安装Python的XlsxWriter模块方法
May 03 Python
python接口自动化(十六)--参数关联接口后传(详解)
Apr 16 Python
Python:slice与indices的用法
Nov 25 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 Python
哪些是python中web开发框架
Jun 17 Python
Python实现ElGamal加密算法的示例代码
Jun 19 Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 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
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
javascript+mapbar实现地图定位
2010/04/09 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
Node.js 条形码识别程序构建思路详解
2016/02/14 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
开朗女孩的自我评价
2014/02/10 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
学校校庆演讲稿
2014/05/22 职场文书
拾金不昧感谢信
2015/01/21 职场文书
小学科学课教学反思
2016/02/23 职场文书
浅谈JavaScript作用域
2021/12/06 Javascript
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers