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使用tcp实现局域网内文件传输
Mar 20 Python
python 从文件夹抽取图片另存的方法
Dec 04 Python
Django 开发环境与生产环境的区分详解
Jul 26 Python
python3实现单目标粒子群算法
Nov 14 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
python读取当前目录下的CSV文件数据
Mar 11 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
Python-opencv实现红绿两色识别操作
Jun 04 Python
python如何调用百度识图api
Sep 29 Python
python空元组在all中返回结果详解
Dec 15 Python
Python时间操作之pytz模块使用详解
Jun 14 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
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
提高php编程效率技巧
2015/08/13 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
JS backgroundImage控制
2009/05/19 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
2019/03/04 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
python有证书的加密解密实现方法
2014/11/19 Python
python实现数独算法实例
2015/06/09 Python
Python实现高效求解素数代码实例
2015/06/30 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
python django中8000端口被占用的解决
2019/12/17 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
美术教师自我鉴定
2014/02/12 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
入队仪式主持词
2015/07/04 职场文书