1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| import MySQLdb from pyecharts import options from pyecharts.charts import Bar, Pie, Page from pyecharts.globals import ThemeType
city_list = ['北京', '天津', '上海', '南京', '大连', '成都', '无锡', '昆明', '杭州', '武汉', '西安', '重庆', '长沙']
def select_average_price(): average_list = [] conn = MySQLdb.connect(host='localhost', user='root', password='123456', port=3306, db='spider', charset='utf8') cursor = conn.cursor() for city in city_list: sql = 'select every_price from 58tc_xinfang where city="{}"'.format(city) cursor.execute(sql) price_list = cursor.fetchall() sum_price = 0 number = len(price_list) for price in price_list: sum_price += int(price[0].replace('元/㎡', '')) average = sum_price / number average_list.append(format(average, '.2f')) return average_list
price_list = select_average_price() print(price_list)
bar_obj = ( Bar(init_opts=options.InitOpts(theme=ThemeType.MACARONS)) \ .add_xaxis((city_list)) \ .add_yaxis("", price_list) \ .set_global_opts(title_opts=options.TitleOpts("买房平均价格元/㎡", subtitle='仅供参考'), toolbox_opts=options.ToolboxOpts(), brush_opts=options.BrushOpts() ) )
b_list = [list(i) for i in zip(city_list, price_list)] pie_ogj = ( Pie() .add("", b_list) .set_series_opts(label_opts=options.LabelOpts(formatter="{b}: {c}")) )
p = Page(layout=Page.SimplePageLayout) p.add(pie_ogj, bar_obj) p.render("一线城市买房信息整合.html")
|