使用tushare的pandas進行to_sql操作時的No module named 'MySQLdb'錯誤處理


先寫在前面,用tushare獲取財經類數據時,完全沒有必要用python3版本

py2功能沒差別,但是py3有很多地方需要修改參數才能成功運行,無端造成時間的浪費

下面進入正題,這個問題困擾了我一個下午+晚上的時間,寫下來讓看本文的童鞋少走彎路

engine = create_engine('mysql://root:root@127.0.0.1/tushare?charset=utf8')

你們的代碼應該跟上面的差不多吧,反正就是死活運行不了,提示以下錯誤:

return __import__('MySQLdb')
ModuleNotFoundError: No module named 'MySQLdb'

於是我就到處查資料,請教群友,折騰Anaconda把mysql相關的全都裝了一遍,各種想辦法,google了很多資料也沒能解決

最后查到了pandas那邊,tushare的to_sql用的是pandas的方法,所以這個方法報錯,只能找pandas

我查到pandas的api中解釋到,mysql_db是針對py2的,如果你使用的是py3,

應當增加參數:

engine= create_engine('mysql+pymysql://root:root@127.0.0.1/tushare?charset=utf8')

或者

engine= create_engine('mysql+mysqlconnector://root:root@127.0.0.1/tushare?charset=utf8')

看出區別了嗎? 

結束!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM