最近一直在做一个web项目,后端使用的是Flask框架,然后需要用到中国所有大学的名称和代号,本来想使用爬虫来获取,但在百度的时候发现了教育部公布出来的中国所有大学名单,这也就不需费劲爬了。
2017全国高等学校名单:
http://www.moe.edu.cn/srcsite/A03/moe_634/201706/t20170614_306900.html
把名单下载下来,一看是这样的:
其实我只需要红线框里的内容,但Excel玩的还不如Python呢,所以决定用Python把这些内容提取出来。
- 步骤:
1 使用xlrd读取Excel文件
import xlrd,csv
data = xlrd.open_workbook('W020170616379651135432.xls') #打开下载下来的xls文件
2 提取出需要的内容
table = data.sheets()[0] #table是第一张工作簿
school_names = table.col_values(1) #大学名称列
school_codes = table.col_values(2) #大学标识号列
school_info = []
for i in range(table.nrows):
if school_names[i] == '': #部分行被合并了单元格,会显示为空
continue
else:
school_info.append([school_names[i],school_codes[i]])
len(school_info)
#第一行是标题,后面的2631行就是我们需要的信息了。
#这和教育部公布的数字无误,可以在刚刚的链接里看到的。
2632
3 使用把信息写入csv
with open('university_info.csv','w') as file:
newWriter=csv.writer(file)
newWriter.writerows(school_info)
-
结果:
处理结果
- 参考:
网友评论