用python操作mysql数据库,python数据导入mysql
本文主要介绍如何让python将数据帧写入MySQL。以下是2016年9月1日上海公交刷卡数据资料图,扩展其方法。需要的小伙伴可以参考一下。
背景:
以下采用2016年9月1日上海公交刷卡数据。
如图:
想想上海通勤数据挖掘。因为源文件有800多兆,用python读起来又慢又别扭,所以想导入到MySQL这个数据库中进行处理。以前我习惯打开工作台可视化操作,导入数据库。这次想用代码实现,所以想知道如何用python导入这个csv文件。
通常,python以两种方式将数据帧写入数据库。
利用insert into 命令一条一条插入:
有了这种方法,就可以马上往数据库里插入一条数据,整体连接良好,就不怕一次性往数据库里塞大量数据造成拥堵了。
pd.io.sql.to_sql()整个数据框以追加的方式整体复制进去
今天我们主要研究第二种方法。
实现代码:
导入熊猫作为pd #导入数据分析模块
导入pymysql #导入数据库接口模块
从sqlalchemy导入创建引擎
data=PD . read _ CSV(r d : \ data \ yikatongchengkeshuju \ 2016 08 \ sptcc 2016 09 01 . CSV ,engine= python ,header=none) # read数据编码=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 _ 2016 09 01 )#通过重写导入数据表。
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(mysqldb 3360//username 3360 password @ localhost 3360端口/数据库名?编码)
设置数据库的编码方式时,最好与之前pd.read_csv()中的编码参数一致。
pd.io.sql.to_sql()参数说明:
(数据框,表名,con=连接键,schema=数据库名,if _ exists=操作模式)
操作包括追加、失败和替换。
追加:如果表格存在,将数据添加到该表格的后面。失败:如果表存在,不要写替换。如果该表存在,则将其删除并覆盖该方法有一个缺点:.
这种方法完整性好,内存消耗大。内存大的话可以试试。
关于如何让python将数据帧写入MySQL的这篇文章到此结束。关于python将数据帧写入MySQL的更多信息,请搜索流行的IT软件开发工作室以前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。