小伙伴们好,Python读取数据信息全自动载入MymySQL,这个需求在工作上是十分普遍的,主要包括到python操作数据库,读写能力升级等,数据库系统很有可能是mongodb、es,他的解决构思全是相近的,只需将操作数据库的词法拆换就可以。
本文会跟大家分享数据信息怎样载入到mysql,分成2个情景,三种形式。
情景一:数据信息不用频繁地载入mysql
使用navicat工具的使用导入到指导基本功能。适用各种文件类型,能够根据文件的字段名全自动建表,还可以在已经有表格中插入数据,十分简单方便。
情景二:信息是增加量的,要自动化技术并经常载入mysql
测试报告:csv格式,大概1200万行
importpandasaspd data=pd.read_csv('./tianchi_mobile_recommend_train_user.csv') data.shape
打印出结论
方式一
python+pymysql库
组装pymysql命令
pipinstallpymysql
代码编写:
importpymysql #数据库服务器数据 conn=pymysql.connect( host='127.0.0.1', user='root', passwd='wangyuqing', db='test01', port=3306, charset="utf8") #分层解决 big_size=100000 #分层赋值载入到mysql withpd.read_csv('./tianchi_mobile_recommend_train_user.csv',chunksize=big_size)asreader: fordfinreader: datas=[] print('解决:',len(df)) #print(df) fori,jindf.iterrows(): data=(j['user_id'],j['item_id'],j['behavior_type'], j['item_category'],j['time']) datas.append(data) _values=",".join(['%s',]*5) sql="""insertintousers(user_id,item_id,behavior_type ,item_category,time)values(%s)"""%_values cursor=conn.cursor() cursor.executemany(sql,datas) conn.commit() #关闭服务 conn.close() cursor.close() print('存进成功!')
方式二
pandas+sqlalchemy:pandas要引入sqlalchemy来支撑sql,在sqlalchemy的大力支持,它能够实现全部普遍数据库类型的查看、升级等行为。
代码编写:
fromsqlalchemyimportcreate_engine engine=create_engine('mysql+pymysql://root:wangyuqing localhost:3306/test01') data=pd.read_csv('./tianchi_mobile_recommend_train_user.csv') data.to_sql('user02',engine,chunksize=100000,index=None) print('存进成功!')
归纳
pymysql方式用时12分47秒,用时还非常的长,编码数量多,而pandas只需五行属性编码就完成了这个需求,只花了4分钟。
最终填补下,方式一要提前建表,方式二是不用。
因此建议大家应用另一种方式,非常方便又工作效率高。如果真感觉速度比较慢的小伙伴们,可以选择添加线程同步、线程同步。
最全面的3种将它们存进到MymySQL方式:
立即存,运用navicat的导入到指导基本功能
Pythonpymysql
Pandassqlalchemy
综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129043.html
文中关键给大家介绍是指Pandas二种少使用的读取文件方式:载入在线文件的信息和载入剪切板的信息,感兴趣的朋友能够来了解一下吧一块儿学习下 序言 小伙伴们好,我就是Peter~ 文中记载的是Pandas二种少使用的读取文件方式: 载入在线文件的信息 载入剪切板的信息 申明:文中案例和在线数据仅限于学术研究共享 read_html 该函数公式表示是立即载入线上的html...
本文给大家介绍一类从视频里获取视频帧的办法,因为单核获取视频帧速率比较慢,因而接下来我们增强了线程同步的办法,感兴趣的朋友能够出手试一试 Python迅速获取视频帧(线程同步) 现在详细介绍一下一类从视频里获取视频帧的办法,因为单核获取视频帧速率比较慢,因而接下来我们增强了线程同步的办法。 1、获取视频帧 获取视频帧关键用了Opencv控制模块。 在其中: camera=cv2.V...
摘要:的安装相关网址参照菜鸟教程创建文件夹说明目录将映射为容器配置的数据文件存放路径目录将映射为容器的日志目录目录里的配置文件将映射为容器的配置文件查找上的镜像这里我拉取官方的镜像标签这里看你需不需要自行配置的配置文件内容自行填写这里不做介绍使 docker MySQL 的安装 相关网址 : https://segmentfault.com/a/11...https://github.com...
摘要:的安装相关网址参照菜鸟教程创建文件夹说明目录将映射为容器配置的数据文件存放路径目录将映射为容器的日志目录目录里的配置文件将映射为容器的配置文件查找上的镜像这里我拉取官方的镜像标签这里看你需不需要自行配置的配置文件内容自行填写这里不做介绍使 docker MySQL 的安装 相关网址 : https://segmentfault.com/a/11...https://github.com...
阅读 883·2023-01-14 11:38
阅读 827·2023-01-14 11:04
阅读 676·2023-01-14 10:48
阅读 1868·2023-01-14 10:34
阅读 884·2023-01-14 10:24
阅读 748·2023-01-14 10:18
阅读 474·2023-01-14 10:09
阅读 514·2023-01-14 10:02