资讯专栏INFORMATION COLUMN

Python载入MymySQL的三种形式详细说明

89542767 / 411人阅读

  小伙伴们好,Python读取数据信息全自动载入MymySQL,这个需求在工作上是十分普遍的,主要包括到python操作数据库,读写能力升级等,数据库系统很有可能是mongodb、es,他的解决构思全是相近的,只需将操作数据库的词法拆换就可以。


  本文会跟大家分享数据信息怎样载入到mysql,分成2个情景,三种形式。


  情景一:数据信息不用频繁地载入mysql


  使用navicat工具的使用导入到指导基本功能。适用各种文件类型,能够根据文件的字段名全自动建表,还可以在已经有表格中插入数据,十分简单方便。

01.png

02.png

  情景二:信息是增加量的,要自动化技术并经常载入mysql


  测试报告:csv格式,大概1200万行


  importpandasaspd
  data=pd.read_csv('./tianchi_mobile_recommend_train_user.csv')
  data.shape


  打印出结论

03.png

  方式一


  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('存进成功!')

  

04.png

      方式二


  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('存进成功!')

05.png

  归纳


  pymysql方式用时12分47秒,用时还非常的长,编码数量多,而pandas只需五行属性编码就完成了这个需求,只花了4分钟。


  最终填补下,方式一要提前建表,方式二是不用。


  因此建议大家应用另一种方式,非常方便又工作效率高。如果真感觉速度比较慢的小伙伴们,可以选择添加线程同步、线程同步。


  最全面的3种将它们存进到MymySQL方式:


  立即存,运用navicat的导入到指导基本功能


  Pythonpymysql


  Pandassqlalchemy


  综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129043.html

相关文章

  • Pandas完成在线文件和剪切板数据读取详细说明

      文中关键给大家介绍是指Pandas二种少使用的读取文件方式:载入在线文件的信息和载入剪切板的信息,感兴趣的朋友能够来了解一下吧一块儿学习下  序言  小伙伴们好,我就是Peter~  文中记载的是Pandas二种少使用的读取文件方式:   载入在线文件的信息   载入剪切板的信息   申明:文中案例和在线数据仅限于学术研究共享   read_html   该函数公式表示是立即载入线上的html...

    89542767 评论0 收藏0
  • Python迅速从短视频中获取视频帧办法详细说明

      本文给大家介绍一类从视频里获取视频帧的办法,因为单核获取视频帧速率比较慢,因而接下来我们增强了线程同步的办法,感兴趣的朋友能够出手试一试  Python迅速获取视频帧(线程同步)  现在详细介绍一下一类从视频里获取视频帧的办法,因为单核获取视频帧速率比较慢,因而接下来我们增强了线程同步的办法。  1、获取视频帧  获取视频帧关键用了Opencv控制模块。  在其中:  camera=cv2.V...

    89542767 评论0 收藏0
  • Linux 下 docker 安装 MySQL

    摘要:的安装相关网址参照菜鸟教程创建文件夹说明目录将映射为容器配置的数据文件存放路径目录将映射为容器的日志目录目录里的配置文件将映射为容器的配置文件查找上的镜像这里我拉取官方的镜像标签这里看你需不需要自行配置的配置文件内容自行填写这里不做介绍使 docker MySQL 的安装 相关网址 : https://segmentfault.com/a/11...https://github.com...

    xiaotianyi 评论0 收藏0
  • Linux 下 docker 安装 MySQL

    摘要:的安装相关网址参照菜鸟教程创建文件夹说明目录将映射为容器配置的数据文件存放路径目录将映射为容器的日志目录目录里的配置文件将映射为容器的配置文件查找上的镜像这里我拉取官方的镜像标签这里看你需不需要自行配置的配置文件内容自行填写这里不做介绍使 docker MySQL 的安装 相关网址 : https://segmentfault.com/a/11...https://github.com...

    XUI 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<