python - 獲取到的數(shù)據(jù)生成新的mysql表
問(wèn)題描述
# -*- conding:utf8 -*-import tushare as tsimport pymysqlconn = pymysql.connect(host=’127.0.0.1’, port=3306, user=’root’, passwd=’root’, db=’test’)cursor = conn.cursor() #創(chuàng)建游標(biāo)today_data = ts.get_today_all() #把獲取到的數(shù)據(jù)給today_data
代碼如上,可以成功連接數(shù)據(jù)庫(kù),創(chuàng)建游標(biāo),獲取到數(shù)據(jù)。問(wèn)題是:today_data獲取到的數(shù)據(jù)有多個(gè)字段(code、name、changepercent、trade、open high、low、settlement),那如何在獲取到數(shù)據(jù)的時(shí)候,生成一張新表?新表的字段和獲取到的字段一致。
可能我描述的不夠清楚,我是想把變量today_data里的數(shù)據(jù)插入到mysql的表中。把變量里的多個(gè)字段多條記錄插入表里,或者直接新建一個(gè)表。
問(wèn)題解答
回答1:字段都知道,就直接用SQL創(chuàng)建表,表名你也是知道的,然后insert數(shù)據(jù)
回答2:更簡(jiǎn)單是用pandas的to_sql命令,可以直接整體寫(xiě)入sql的一張表。
這條命令有一個(gè)參數(shù)if_exists,如果設(shè)置為append,在沒(méi)有表的前提下,就會(huì)自建。
對(duì)于你用tushare獲得的本來(lái)就是pandas格式的數(shù)據(jù),這是最簡(jiǎn)單最直接的法子。
回答3:最簡(jiǎn)單的莫過(guò)于在處理數(shù)據(jù)之后,使用 INSERT INTO …… VALUES vars ……
cursor.execute('INSERT INTO today_data (code、name、changepercent、trade、open high、low、settlement) VALUES (’{}’,’{}’,’{}’,’{}’,’{}’,’{}’,’{}’)'.format(code、name、changepercent、trade、open high、low、settlement))
相關(guān)文章:
1. javascript - 求助關(guān)于call和apply的問(wèn)題,反柯里化2. android - 求 360瀏覽器 百度瀏覽器 搜狗瀏覽器的最新啟動(dòng)類(lèi)名3. css3 隱藏文本4. java - .jsp頁(yè)面用<%= %>的方式獲取數(shù)據(jù)存在一個(gè)很奇怪的問(wèn)題5. vue.js - vue上傳代碼到git6. java - svn導(dǎo)下來(lái)的項(xiàng)目,web-inf下怎么沒(méi)有l(wèi)ib文件呀?7. css - 移動(dòng)端字體適配問(wèn)題8. javascript - arguments.callee9. css3-translate3d-模糊bug - 為何使用了 css3 translate3d 會(huì)導(dǎo)致顯示模糊?10. javascript - Angular利用 broadcast和 on實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)并且傳遞數(shù)據(jù) 但是跳轉(zhuǎn)后收不到數(shù)據(jù)
