先寫在前面,用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')
看出區別了嗎?
結束!