本章内容包括:
//课前补充:SQL 更改数据类型:ALTER TABLE 表明 modify 字段名 数据类型;
在写入CSV的时候,先在mysql workbench内把表建好。
//input1
import pymysql
import pandas as pd
from sqlalchemy import create_engine
def reader(query,db='data'):
sql = query
engine = create_engine('mysql+pymysql://kuku:mysql1219@localhost:3306/{0}'.format(db))
df = pd.read_sql(sql,engine)
return df
df_company = reader('select * from company')
df_company.head()
//output1
companyId companyFullName companyLabelList companyShortName companySize businessZones
0 43 北京欧应科技有限公司 ['五险一金', '扁平化管理', '创业型企业', '岗位晋升'] 唯医网 150-500人 ['东大桥', 'CBD', '朝外']
1 53 北京创锐文化传媒有限公司 ['技能培训', '节日礼物', '季度奖金', '岗位晋升'] 聚美优品 2000人以上 ['东直门', '海运仓', '东四']
2 62 北京字节跳动科技有限公司 ['扁平管理', '弹性工作', '大厨定制三餐', '就近租房补贴'] 今日头条 2000人以上 ['双榆树', '大钟寺', '中关村']
3 70 宝宝树(北京)信息技术有限公司 ['商业医疗保险', '股票期权', '带薪年假', '扁平管理'] 宝宝树 500-2000人 ['团结湖', '朝阳公园', '三里屯']
4 91 高德软件有限公司 ['弹性工作', '帅哥多', '美女多', '五险一金'] 阿里巴巴移动事业群-高德 2000人以上 ['城南']
//input2
df_dataanalyst = reader('select * from dataanalyst')
merged = pd.merge(df_dataanalyst,df_company,on = 'companyId')
merged.head()
//output2
positionId city companyId firstType secondType education industryField positionAdvantage positionName positionLables salary workYear companyFullName companyLabelList companyShortName companySize businessZones
0 80307 深圳 6718 职能 高端职能职位 本科 社交网络,生活服务 业务分析,自由度高,项目有发展前景。 数据分析师 ['分析师', '数据分析', '数据'] 8k-15k 1-3年 深圳市珍爱网信息技术有限公司 ['发展上升型', '朝阳行业', '创业氛围浓厚', '年终分红'] 珍爱网 2000人以上 ['南头', '科技园', '桂庙路口']
1 899950 深圳 6718 设计 用户研究 本科 社交网络,生活服务 大公司 福利好 团队棒 数据分析师(资源策略) ['分析师', '数据分析', '策略', '数据'] 8k-15k 1-3年 深圳市珍爱网信息技术有限公司 ['发展上升型', '朝阳行业', '创业氛围浓厚', '年终分红'] 珍爱网 2000人以上 ['南头', '科技园', '桂庙路口']
2 2424509 深圳 6718 技术 DBA 本科 社交网络,生活服务 技术氛围好,平台大 数据仓库 ['数据仓库', '数据'] 12k-15k 3-5年 深圳市珍爱网信息技术有限公司 ['发展上升型', '朝阳行业', '创业氛围浓厚', '年终分红'] 珍爱网 2000人以上 ['南头', '科技园', '桂庙路口']
3 100561 北京 62 技术 DBA 本科 移动互联网,数据服务 过亿用户+优厚薪资期权+三餐+住房补 数据抓取和处理(高级)工程师 ['数据'] 20k-40k 不限 北京字节跳动科技有限公司 ['扁平管理', '弹性工作', '大厨定制三餐', '就近租房补贴'] 今日头条 2000人以上 ['双榆树', '大钟寺', '中关村']
4 468241 北京 62 技术 后端开发 本科 移动互联网,数据服务 高薪期权+免费三餐+就近租房补贴 大数据工程师 ['大数据', '数据'] 20k-40k 1-3年 北京字节跳动科技有限公司 ['扁平管理', '弹性工作', '大厨定制三餐', '就近租房补贴'] 今日头条 2000人以上 ['双榆树', '大钟寺', '中关村']
//input3
result = merged.groupby(['city','companyFullName']).count()['companyId'].reset_index()
result.head()
//output3
city companyFullName companyId
0 上海 CMC Wiseme HK Limited 2
1 上海 Striking.ly, Inc. 1
2 上海 VIKI PRIVATE LIMITED 1
3 上海 万达信息科技有限公司 2
4 上海 上汽通用汽车金融有限责任公司 1
//input4
result.to_sql(name = 'newtable',con = 'mysql+pymysql://kuku:mysql1219@localhost:3306/data',
if_exists = 'append',index= False)
result.head()
//output4
city companyFullName companyId
0 上海 CMC Wiseme HK Limited 2
1 上海 Striking.ly, Inc. 1
2 上海 VIKI PRIVATE LIMITED 1
3 上海 万达信息科技有限公司 2
4 上海 上汽通用汽车金融有限责任公司 1
添加成功,如图所示