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 相关文章推荐
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 Python
Django REST为文件属性输出完整URL的方法
Dec 18 Python
python+Splinter实现12306抢票功能
Sep 25 Python
Python中asyncio与aiohttp入门教程
Oct 16 Python
Python 数据可视化pyecharts的使用详解
Jun 26 Python
Django命名URL和反向解析URL实现解析
Aug 09 Python
pytorch下大型数据集(大型图片)的导入方式
Jan 08 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
Feb 14 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
Aug 22 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
python实现杨辉三角的几种方法代码实例
Mar 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
PHP生成静态页
2006/11/25 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
css配合jquery美化 select
2013/11/29 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
修改或扩展jQuery原生方法的代码实例
2015/01/13 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
python实现根据月份和日期得到星座的方法
2015/03/27 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
Scrapy的简单使用教程
2017/10/24 Python
快速查询Python文档方法分享
2017/12/27 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
办公室秘书岗位职责范本
2014/02/11 职场文书
公司门卫的岗位职责
2014/02/19 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
闪闪的红星观后感
2015/06/08 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
Python集合的基础操作
2021/11/01 Python