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 元类使用说明
Dec 18 Python
Python文件和流(实例讲解)
Sep 12 Python
Python处理CSV与List的转换方法
Apr 19 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
解决python中画图时x,y轴名称出现中文乱码的问题
Jan 29 Python
Python3实现的简单三级菜单功能示例
Mar 12 Python
python进程和线程用法知识点总结
May 28 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
python 字符串常用方法汇总详解
Sep 16 Python
python单向循环链表原理与实现方法示例
Dec 03 Python
如何在Windows中安装多个python解释器
Jun 16 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和ACCESS写聊天室(七)
2006/10/09 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
常用js脚本
2006/12/03 Javascript
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
JavaScript 应用类库代码
2008/06/02 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
关于递归运算的顺序测试代码
2011/11/30 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
Django中几种重定向方法
2015/04/28 Python
Python使用gensim计算文档相似性
2016/04/10 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
python中round函数如何使用
2020/06/19 Python
党员公开承诺书和承诺事项
2014/03/25 职场文书
幼儿园小班教师寄语
2014/04/03 职场文书
作风大整顿心得体会
2014/09/10 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
《秋思》教学反思
2016/02/23 职场文书
同学聚会开幕词
2019/04/02 职场文书
python实现自定义日志的具体方法
2021/05/28 Python
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js