python 讀取mysql數據,生成svg圖片python
pygalmysql
MySQLdb:sql
安裝:pip install mysql-python數據庫
下載:這裏下載編程
# coding=utf-8 import pygal import MySQLdb def get_data(): db=MySQLdb.connect(host='localhost',user='root',passwd='***',db='movie',charset='utf8') cursor = db.cursor() cursor.execute('select grade,count(2) from movie_info group by grade;') datas=cursor.fetchall() count=[] for data in datas: count.append(int(data[1])) #grade=data[0] #count=data[1] return count def main(): a=range(81,97) grade = [] for b in range(81,97): c=b/10.0 grade.append(c) chart_count=get_data() #for chart_count in chart_data: movie_chart=pygal.Line() movie_chart.title='movie chart' movie_chart.x_labels=map(str, grade) movie_chart.add('count',chart_count) movie_chart.render_to_file(r'C:\Users\legolas\Desktop\movie_chart.svg') if __name__ == '__main__': main()
操做數據庫segmentfault
在我上一篇文章中生成過爬蟲數據庫,大家能夠先看下,在這裏,先用
MySQLdb
模塊的connect
方法建立連接對象,接着建立一個cursor光標對象.數組
注意:連接/光標模式是數據庫編程中經常使用的模式
app
連接模式除了要連接數據庫以外,還要發送數據庫信息,處理回滾操做,建立新的光標對象,等等。svg
一個光標跟蹤一種狀態信息,好比跟蹤數據庫的使用狀態,當有多個數據庫,正好須要向全部數據庫寫內容,就須要多個光標來處理,光標內包含最後一次的查詢結果,因此能夠使用 fetchone() 方法獲取一條數據,
一個鏈接能夠用多個光標。
工具
處理數據庫數據
經過
datas=cursor.fetchall()
獲取到tuple格式的數據,先定義一個空的list
用來裝數據。用for
遍歷讀出數據。select grade,count(2) from movie_info group by grade;
查詢評分,並統計各個評分的數量,按評分高低排序。
主程序
分析豆瓣電影top250,能夠看出,分數在8.1至9.7之間,爲了方便,直接經過→
for b in range(81,97): c=b/10.0
生成
`8.1,8.2,8.3,8.4......9.7
數組movie_chart=pygal.Line()
生成折線圖....誒,扯不下去了,結貼睡覺。