小伙伴們好,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)單方便。
情景二:信息是增加量的,要自動(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é)論
方式一
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)成功!')
方式二
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)成功!')
歸納
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二種少使用的讀取文件方式:載入在線文件的信息和載入剪切板的信息,感興趣的朋友能夠來(lái)了解一下吧一塊兒學(xué)習(xí)下 序言 小伙伴們好,我就是Peter~ 文中記載的是Pandas二種少使用的讀取文件方式: 載入在線文件的信息 載入剪切板的信息 申明:文中案例和在線數(shù)據(jù)僅限于學(xué)術(shù)研究共享 read_html 該函數(shù)公式表示是立即載入線上的html...
本文給大家介紹一類從視頻里獲取視頻幀的辦法,因?yàn)閱魏双@取視頻幀速率比較慢,因而接下來(lái)我們?cè)鰪?qiáng)了線程同步的辦法,感興趣的朋友能夠出手試一試 Python迅速獲取視頻幀(線程同步) 現(xiàn)在詳細(xì)介紹一下一類從視頻里獲取視頻幀的辦法,因?yàn)閱魏双@取視頻幀速率比較慢,因而接下來(lái)我們?cè)鰪?qiáng)了線程同步的辦法?! ?、獲取視頻幀 獲取視頻幀關(guān)鍵用了Opencv控制模塊?! ≡谄渲校骸 amera=cv2.V...
摘要:的安裝相關(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...
摘要:的安裝相關(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...
閱讀 923·2023-01-14 11:38
閱讀 895·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2055·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02