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的轻便web框架Bottle
Apr 08 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
Jun 14 Python
python实现的二叉树定义与遍历算法实例
Jun 30 Python
Python中input与raw_input 之间的比较
Aug 20 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
python中int与str互转方法
Jul 02 Python
python将秒数转化为时间格式的实例
Sep 16 Python
Python中对数组集进行按行打乱shuffle的方法
Nov 08 Python
python调用接口的4种方式代码实例
Nov 19 Python
Python Pandas 转换unix时间戳方式
Dec 07 Python
Django实现随机图形验证码的示例
Oct 15 Python
如何理解及使用Python闭包
Jun 01 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截取html字符串及自动补全html标签的方法
2015/01/15 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
Js四则运算函数代码
2012/07/21 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
2016/07/12 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
使用Python的Django框架结合jQuery实现AJAX购物车页面
2016/04/11 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
python逆序打印各位数字的方法
2018/06/25 Python
Python求离散序列导数的示例
2019/07/10 Python
PHP统计代码行数的小代码
2019/09/19 Python
浅析python redis的连接及相关操作
2019/11/07 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
传媒专业推荐信范文
2013/11/23 职场文书
工伤事故证明
2014/10/20 职场文书
2015年宣传工作总结
2015/04/08 职场文书
Pillow图像处理库安装及使用
2022/04/12 Python
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL