importpymysqlimportnumpy as npfrom pyecharts importBarfrom pyecharts importPieclassMysqlhelper(object):
config={"host": "localhost","user": "root","password": "123456","db": "test","charset": "utf8"}def __init__(self):
self.connection=None
self.cursor=None#从数据库中查询多行数据
def getlist(self, sql, *args):try:
self.connection= pymysql.connect(**Mysqlhelper.config) #**接函数所有参数
self.cursor =self.connection.cursor()
self.cursor.execute(sql, args)returnself.cursor.fetchall()exceptException as ex:print(ex, ex)finally:
self.close()defclose(self):ifself.cursor:
self.cursor.close()ifself.connection:
self.connection.close()if __name__ == "__main__":
count=0
list=[]
list1=[]
list2= [5000,10000,15000,20000,25000,30000,35000,40000]
salary0=[]
salary1=[]
salary2=[]
salary3=[]
salary4=[]
salary5=[]
salary6=[]
salary7=[]
city=[]
helper=Mysqlhelper()
rows= helper.getlist("select * from t_job")#print(rows)
for n inrows:if n[4][-1]=='月':
list.append(n[4])elif n[4][-1]=='年':pass
elif n[4][-1]=='天':pass
else:pass
for sale inlist:#print(sale)
money = sale.split('/')#print(money[0])
money1 = money[0].split('-')#print(money1)
if money[0][-1] == '万':
a= float(money1[0]) * 10000b= float(money1[1][:-1]) * 10000aveage= (a + b) / 2count+=1list1.append(aveage)elif money[0][-1]=='千':
a= float(money1[0]) * 1000b= float(money1[1][:-1]) * 1000
#print(a)
#print(b)
aveage = (a + b) / 2
#print(aveage)
count += 1list1.append(aveage)#print(count)
#print(list1)
for i inlist1:print(i)if 0 < i <= 5000:
salary0.append(i)elif 5000 < i <= 10000:
salary1.append(i)elif 10000 < i <= 15000:
salary2.append(i)elif 15000 < i <= 20000:
salary3.append(i)elif 20000 < i <= 25000:
salary4.append(i)elif 25000 < i <= 30000:
salary5.append(i)elif 30000 < i <= 35000:
salary6.append(i)elif 35000 < i <= 40000:
salary7.append(i)print(min(list1))print(max(list1))
a=len(salary0)
b=len(salary1)
c=len(salary2)
d=len(salary3)
e=len(salary4)
f=len(salary5)
g=len(salary6)
h=len(salary7)
list3=[a,b,c,d,e,f,g,h]print(list2) #x轴
print(a,b,c,d,e,f,g,h)print(list3) #数量
bar= Bar('Python平均工资')
bar.add("月薪", list2,list3)#bar.show_config()
bar.render('Python工资柱状图.html')
pie=Pie()
pie.add("", list2, list3, is_label_show=True)#pie.show_config()
pie.render('Python工资饼状图.html')'''#print(rows)
citycount=[]
cityname=['北京','异地招聘','海淀区','朝阳区','丰台区','昌平区','东城区','延庆区',
'房山区','通州区','顺义区','大兴区','怀柔区','西城区','平谷区','门头沟区']
beijing=[]
yidi=[]
haidian=[]
chaoyang=[]
fengtai=[]
changping=[]
dongcheng=[]
yanqing=[]
fangshan=[]
tongzhou=[]
shunyi=[]
daxing=[]
huairou=[]
xicheng=[]
pinggu=[]
mentougou=[]
for n in rows:
#print(n[3])
area=n[3].split('-')
print(area)
if len(area)==1:
print(area[0])
city.append(area[0])
else:
print(area[1])
city.append(area[1])
print(city)
print(len(city))
for i in city:
if i=='北京':
beijing.append(i)
elif i=='异地招聘':
yidi.append(i)
elif i=='海淀区':
haidian.append(i)
elif i == '朝阳区':
chaoyang.append(i)
elif i=='丰台区':
fengtai.append(i)
elif i=='昌平区':
changping.append(i)
elif i=='东城区':
dongcheng.append(i)
elif i=='延庆区':
yanqing.append(i)
elif i=='房山区':
fangshan.append(i)
elif i=='通州区':
tongzhou.append(i)
elif i=='顺义区':
shunyi.append(i)
elif i=='大兴区':
daxing.append(i)
elif i=='怀柔区':
huairou.append(i)
elif i=='西城区':
xicheng.append(i)
elif i=='平谷区':
pinggu.append(i)
elif i=='门头沟区':
mentougou.append(i)
#print(beijing)
#print(len(beijing))
a = len(beijing)
b = len(yidi)
c = len(haidian)
d = len(chaoyang)
e = len(fengtai)
f = len(changping)
g = len(dongcheng)
h = len(yanqing)
j = len(fangshan)
k = len(tongzhou)
l = len(shunyi)
m = len(daxing)
n = len(huairou)
o = len(xicheng)
p = len(pinggu)
q = len(mentougou)
citycount=[a,b,c,d,e,f,g,h,j,k,l,m,n,o,p,q]
print(cityname)
print(citycount)
pie = Pie()
pie.add("", cityname, citycount, is_label_show=True)
# pie.show_config()
pie.render('北京各区Python职位占比饼状图.html')
bar = Bar('北京各区职位数量')
bar.add("数量", cityname, citycount)
# bar.show_config()
bar.render('北京各区Python职位占比柱状图.html')'''