成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python載入MymySQL的三種形式詳細(xì)說(shuō)明

89542767 / 417人閱讀

  小伙伴們好,Python讀取數(shù)據(jù)信息全自動(dòng)載入MymySQL,這個(gè)需求在工作上是十分普遍的,主要包括到python操作數(shù)據(jù)庫(kù),讀寫(xiě)能力升級(jí)等,數(shù)據(jù)庫(kù)系統(tǒng)很有可能是mongodb、es,他的解決構(gòu)思全是相近的,只需將操作數(shù)據(jù)庫(kù)的詞法拆換就可以。


  本文會(huì)跟大家分享數(shù)據(jù)信息怎樣載入到mysql,分成2個(gè)情景,三種形式。


  情景一:數(shù)據(jù)信息不用頻繁地載入mysql


  使用navicat工具的使用導(dǎo)入到指導(dǎo)基本功能。適用各種文件類型,能夠根據(jù)文件的字段名全自動(dòng)建表,還可以在已經(jīng)有表格中插入數(shù)據(jù),十分簡(jiǎn)單方便。

01.png

02.png

  情景二:信息是增加量的,要自動(dòng)化技術(shù)并經(jīng)常載入mysql


  測(cè)試報(bào)告:csv格式,大概1200萬(wàn)行


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


  打印出結(jié)論

03.png

  方式一


  python+pymysql庫(kù)


  組裝pymysql命令

  pipinstallpymysql


  代碼編寫(xiě):


  importpymysql
  #數(shù)據(jù)庫(kù)服務(wù)器數(shù)據(jù)
  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()
  #關(guān)閉服務(wù)
  conn.close()
  cursor.close()
  print('存進(jìn)成功!')

  

04.png

      方式二


  pandas+sqlalchemy:pandas要引入sqlalchemy來(lái)支撐sql,在sqlalchemy的大力支持,它能夠?qū)崿F(xiàn)全部普遍數(shù)據(jù)庫(kù)類型的查看、升級(jí)等行為。


  代碼編寫(xiě):


  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('存進(jìn)成功!')

05.png

  歸納


  pymysql方式用時(shí)12分47秒,用時(shí)還非常的長(zhǎng),編碼數(shù)量多,而pandas只需五行屬性編碼就完成了這個(gè)需求,只花了4分鐘。


  最終填補(bǔ)下,方式一要提前建表,方式二是不用。


  因此建議大家應(yīng)用另一種方式,非常方便又工作效率高。如果真感覺(jué)速度比較慢的小伙伴們,可以選擇添加線程同步、線程同步。


  最全面的3種將它們存進(jìn)到MymySQL方式:


  立即存,運(yùn)用navicat的導(dǎo)入到指導(dǎo)基本功能


  Pythonpymysql


  Pandassqlalchemy


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129043.html

相關(guān)文章

  • Pandas完成在線文件和剪切板數(shù)據(jù)讀取詳細(xì)說(shuō)明

      文中關(guān)鍵給大家介紹是指Pandas二種少使用的讀取文件方式:載入在線文件的信息和載入剪切板的信息,感興趣的朋友能夠來(lái)了解一下吧一塊兒學(xué)習(xí)下  序言  小伙伴們好,我就是Peter~  文中記載的是Pandas二種少使用的讀取文件方式:   載入在線文件的信息   載入剪切板的信息   申明:文中案例和在線數(shù)據(jù)僅限于學(xué)術(shù)研究共享   read_html   該函數(shù)公式表示是立即載入線上的html...

    89542767 評(píng)論0 收藏0
  • Python迅速?gòu)亩桃曨l中獲取視頻幀辦法詳細(xì)說(shuō)明

      本文給大家介紹一類從視頻里獲取視頻幀的辦法,因?yàn)閱魏双@取視頻幀速率比較慢,因而接下來(lái)我們?cè)鰪?qiáng)了線程同步的辦法,感興趣的朋友能夠出手試一試  Python迅速獲取視頻幀(線程同步)  現(xiàn)在詳細(xì)介紹一下一類從視頻里獲取視頻幀的辦法,因?yàn)閱魏双@取視頻幀速率比較慢,因而接下來(lái)我們?cè)鰪?qiáng)了線程同步的辦法?! ?、獲取視頻幀  獲取視頻幀關(guān)鍵用了Opencv控制模塊?! ≡谄渲校骸 amera=cv2.V...

    89542767 評(píng)論0 收藏0
  • Linux 下 docker 安裝 MySQL

    摘要:的安裝相關(guān)網(wǎng)址參照菜鳥(niǎo)教程創(chuàng)建文件夾說(shuō)明目錄將映射為容器配置的數(shù)據(jù)文件存放路徑目錄將映射為容器的日志目錄目錄里的配置文件將映射為容器的配置文件查找上的鏡像這里我拉取官方的鏡像標(biāo)簽這里看你需不需要自行配置的配置文件內(nèi)容自行填寫(xiě)這里不做介紹使 docker MySQL 的安裝 相關(guān)網(wǎng)址 : https://segmentfault.com/a/11...https://github.com...

    xiaotianyi 評(píng)論0 收藏0
  • Linux 下 docker 安裝 MySQL

    摘要:的安裝相關(guān)網(wǎng)址參照菜鳥(niǎo)教程創(chuàng)建文件夾說(shuō)明目錄將映射為容器配置的數(shù)據(jù)文件存放路徑目錄將映射為容器的日志目錄目錄里的配置文件將映射為容器的配置文件查找上的鏡像這里我拉取官方的鏡像標(biāo)簽這里看你需不需要自行配置的配置文件內(nèi)容自行填寫(xiě)這里不做介紹使 docker MySQL 的安裝 相關(guān)網(wǎng)址 : https://segmentfault.com/a/11...https://github.com...

    XUI 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<