python把数据框写入MySQL的方法

背景:

下文利用上海市2016年9月1日公共交通卡刷卡数据

如图:

想做一下上海市通勤数据挖掘,由于源文件有800多兆,用python读取起来很慢很卡,于是想导入数据库MySQL里面处理,以前一般是打开workbench可视化操作导入数据库,这次想换成代码实现,于是琢磨着如何把这个csv文件用python导进去。
一般的,python把数据框写入数据库有两种方法

利用insert into 命令一条一条插入:

采用这种方法,可以爬一条立马向数据库里面插入一条数据,整体衔接好,不怕大量数据一次性塞进数据库导致拥堵;

pd.io.sql.to_sql( )整个数据框以追加的方式整体复制进去

今天主要研究第二种方法

实现代码:

import pandas as pd  #导入数据分析模块
import pymysql #导入数据库接口模块
from sqlalchemy import create_engine
data=pd.read_csv(r"D:\数据\yikatongchengkeshuakashuju\201608\SPTCC20160901.csv",engine='python',header=None) #读取数据encoding='mbcs',
data.columns=["卡号","日期","时间","站点","交通方式","费用","是否有优惠"] #由于原csv文件没有表头,这里添加表头
#print(data.head()) #测试

db=pymysql.connect("localhost","root","123456","metro_sh",charset="utf8") #链接数据库metro_sh
cursor=db.cursor() #获取游标
cursor.execute("drop table if exists metro_sh_20160901") #以重新写入的方式导入数据表
connect=create_engine("mysql+pymysql://root:123456@localhost:3306/metro_sh?charset=utf8")
pd.io.sql.to_sql(data,"metro_sh_20160901",connect,schema="metro_sh",index=False,if_exists="append")

结果截图:

代码解读:

create_engine( )参数说明:

create_engine(mysql+mysqldb://用户名:密码@localhost:端口/数据库名?编码)
设置数据库的编码方式的时候最好与之前pd.read_csv()中的encoding参数一致

pd.io.sql.to_sql( )参数说明:

(数据框, ‘表名’, con=连接键, schema=‘数据库名’, if_exists=‘操作方式’)
操作方式有append、fail、replace

  • append:如果表存在,则将数据添加到这个表的后面
  • fail:如果表存在就不写入
  • replace:如果存在表,删了,覆盖

该方法有一个缺点:

该方法整体性好,内存消耗大,如果内存大可以一试

到此这篇关于如何让python把数据框写入MySQL的文章就介绍到这了,更多相关python把数据框写入MySQL内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 用python实现操纵mysql数据库插入

    python操纵mysql数据库,向一个表中插入一条新的记录. pycahrm提供一个很好的功能,在右边上面,可以连接数据库,并在里面手动操作数据库,连接步骤略过. 1.先看下表的结构,一个car表 1.python过程实现 要先安装一个库pymysql import pymysql as mysql # 连接到数据库,.connect()返回一个connection对象 db = mysql.connect(host="localhost", port=3306, user=&quo

  • 使用python连接mysql数据库数据方式

    目录 1.fetchone/fetchmany/fetchall 2.pandas.read_sql() 前言: 使用python连接mysql数据库数据 有以下两种读取数据的方式推荐: 一种是通过游标,及fetch系列方法进行操作,另一种是通过pandas的read_sql()进行读取并操作.各种方法各有优劣,可根据具体情形,择优选择使用. 示例如下: 1.fetchone/fetchmany/fetchall 获取一条.多条.全部条. import pymysql # 数据库相关信息 dbH

  • Python实现将数据框数据写入mongodb及mysql数据库的方法

    本文实例讲述了Python实现将数据框数据写入mongodb及mysql数据库的方法.分享给大家供大家参考,具体如下: 主要内容: 1.数据框数据写入mongdb方法 2.数据框数据写入mysql方法 为了以后不重复造轮子,这里总结下,如何把数据框数据写入mysql和mongodb的方法记录下来,省得翻来翻去.下面记录的都是精华. 写入mongodb代码片段(使用pymongo库): ##########################写入mongodb 数据库#################

  • python把数据框写入MySQL的方法

    背景: 下文利用上海市2016年9月1日公共交通卡刷卡数据 如图: 想做一下上海市通勤数据挖掘,由于源文件有800多兆,用python读取起来很慢很卡,于是想导入数据库MySQL里面处理,以前一般是打开workbench可视化操作导入数据库,这次想换成代码实现,于是琢磨着如何把这个csv文件用python导进去.一般的,python把数据框写入数据库有两种方法 利用insert into 命令一条一条插入: 采用这种方法,可以爬一条立马向数据库里面插入一条数据,整体衔接好,不怕大量数据一次性塞进

  • Python3实现将本地JSON大数据文件写入MySQL数据库的方法

    本文实例讲述了Python3实现将本地JSON大数据文件写入MySQL数据库的方法.分享给大家供大家参考,具体如下: 最近导师给了一个yelp上的评论数据,数据量达到3.55个G,如果进行分析时直接使用本地文件,选择python来分析,那么效率是非常低的:另一方面使用SQL来储存文本文件最为安全,之前使用CSV,txt存储的文本文件最后莫名其妙地出现一些奇怪字符,导致读取数据分割时出现错乱.下面给出一个简单的代码,将本地JSON文件内容存入数据库. 说明:python版本为3.5,使用第三方库为

  • php从memcache读取数据再批量写入mysql的方法

    本文实例讲述了php从memcache读取数据再批量写入mysql的方法.分享给大家供大家参考.具体分析如下: 用 Memcache 可以缓解 php和数据库压力下面代码是解决高负载下数据库写入瓶颈问题,遇到最实用的:写入ip pv uv的时候,用户达到每分钟几万访问量,要记录这些数据,实时写入数据库必定奔溃. 用以下技术就能解决,还有如用户注册,同一时间断内,大量用户注册,可以缓存后一次性写入到数据库,代码如下: 复制代码 代码如下: public function cldata(){ $me

  • python执行shell获取硬件参数写入mysql的方法

    本文实例讲述了python执行shell获取硬件参数写入mysql的方法.分享给大家供大家参考.具体分析如下: 最近要获取服务器各种参数,包括cpu.内存.磁盘.型号等信息.试用了Hyperic HQ.Nagios和Snmp,它们功能都挺强大的,但是于需求不是太符,亦或者太heavy. 于是乎想到用python执行shell获取这些信息,python执行shell脚本有以下三种方法: 1. os.system() 复制代码 代码如下: os.system('ls') #返回结果0或者1,不能得到

  • Python爬取数据并写入MySQL数据库的实例

    首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元素,结果如下: 结构很清晰简单,我们就是要爬 tr 标签里面的 style 和 tr 下几个并列的 td 标签,下面是爬取的代码: #!/usr/bin/env python # coding=utf-8 import requests from bs4 import BeautifulSoup import MySQLdb print('连接到m

  • Python从数据库读取大量数据批量写入文件的方法

    使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存. 下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做数据的预处理和训练机器学习模型. #%% import pymssql as MySQLdb #这里是python3 如果你是python2.x的话,import MySQLdb #数据库连接属性 hst = '188.10.34.18' usr = 'sa' passwd = 'p@ssw0rd'

  • python保存数据到本地文件的方法

    1.保存列表为.txt文件 #1/list写入txt ipTable = ['158.59.194.213', '18.9.14.13', '58.59.14.21'] fileObject = open('sampleList.txt', 'w') for ip in ipTable: fileObject.write(ip) fileObject.write('\n') fileObject.close() 2.字典保存 #2/dict写入json import json dictObj =

  • python实现读Excel写入.txt的方法

    因为今天要用到把Excel中的数据写入到.txt文件中,所以简单的写了个代码: import numpy as np import xlrd #打开excel文件 data= xlrd.open_workbook('./sudata/ng.xls')#打开Excel文件读取数据 sh=data.sheet_by_name("Sheet1")##通过工作簿名称获取 print sh.nrows#行数 5820 print sh.ncols#列数 2 n=0 i=0 file=open(&

  • Python读取pdf表格写入excel的方法

    背景 今天突然想到之前被要求做同性质银行的数据分析.妈耶!十几个银行,每个银行近5年的财务数据,而且财务报表一般都是 pdf 的,我们将 pdf 中表的数据一个个的拷贝到 excel 中,再借助 excel 去进行求和求平均等聚合函数操作,完事了还得把求出来的结果再统一 CV 到另一张表中,进行可视化分析- 当然,那时风流倜傥的 老Amy 还熟练的玩转着 excel ,也是个秀儿~ 今天就思索着,如果当年我会 Python 是不是可以让我成为班级最靓的崽!用技术占领高地,HHH,所以今天我来了,

  • PHP把MSSQL数据导入到MYSQL的方法

    本文实例讲述了PHP把MSSQL数据导入到MYSQL的方法.分享给大家供大家参考.具体分析如下: 最近需要把一个以前的asp网站转换成php的,但php是与mysql而我的asp与mssql的,结果就需要把mssql数据导入到mysql数据库了,下面我自己写了一个实例还抄了一个实例都不错. 实例一,代码如下: 复制代码 代码如下: <?php  //国内的PNR码连接 $hostname="127.0.0.1"; //MSSQL服务器的IP地址 或 服务器的名字  $dbuser

随机推荐