Skip to content

Instantly share code, notes, and snippets.

@SakuraSa
Last active December 30, 2017 09:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SakuraSa/91c511bf63b2b89288bce0ab39d618b9 to your computer and use it in GitHub Desktop.
Save SakuraSa/91c511bf63b2b89288bce0ab39d618b9 to your computer and use it in GitHub Desktop.
dataParser.py
# coding: utf-8
import re
from collections import OrderedDict
from pprint import pprint
KEY0 = re.compile(r'学科代码及名称:\d+\s+(\w+)')
KEY1 = re.compile(r'\n([A-C][\+-]?)')
DATA = re.compile(r'(\d+)\s+(\w+)')
def groups(content, regex):
parts = regex.split(content)
return OrderedDict(zip(parts[1::2], parts[2::2]))
def read_data(file_name, encoding='u8'):
with open(file_name, 'r', encoding=encoding) as handle:
return [
(key0, key1, id, name)
for key0, part0 in groups(handle.read(), KEY0).items()
for key1, part1 in groups(part0, KEY1).items()
for id, name in DATA.findall(part1)
]
def main():
pprint(read_data('input.txt'))
if __name__ == '__main__':
main()
一级学科代码及名称:0101 哲学
本一级学科中,全国具有“博士授权”的高校共 48 所,本次参评 38 所;部分具有“硕士授权”的高校也参加了评估;参评高校共计 84 所(注:评估结果相同的高校排序不分先后,按学校代码排列)。
评估结果 学校代码及名称
A+ 10001 北京大学
10246 复旦大学
A 10002 中国人民大学
10284 南京大学
A- 10027 北京师范大学 10183 吉林大学
10486 武汉大学
10558 中山大学
B+ 10003 清华大学 10055 南开大学
10212 黑龙江大学
10269 华东师范大学
10286 东南大学
10335 浙江大学
10422 山东大学
10487 华中科技大学
B 10052 中央民族大学 10108 山西大学
10145 东北大学
10247 同济大学
10319 南京师范大学
10384 厦门大学
10542 湖南师范大学
10610 四川大学
10718 陕西师范大学
B- 10140 辽宁大学 10141 大连理工大学
10270 上海师范大学
10285 苏州大学
10533 中南大学
10574 华南师范大学
10635 西南大学
10698 西安交通大学
C+ 10053 中国政法大学 10075 河北大学
10357 安徽大学
10385 华侨大学
10403 南昌大学
10475 河南大学
10512 湖北大学
10520 中南财经政法大学
10730 兰州大学
C 10203 吉林师范大学 10280 上海大学
10531 吉首大学
10590 深圳大学
10656 西南民族大学
10673 云南大学
评估结果 学校代码及名称
C 10674 昆明理工大学
10726 西北政法大学
C- 10094 河北师范大学 10166 沈阳师范大学
10370 安徽师范大学
10476 河南师范大学
10593 广西大学
10636 四川师范大学
10652 西南政法大学
10681 云南师范大学
[('哲学', 'A+', '10001', '北京大学'),
('哲学', 'A+', '10246', '复旦大学'),
('哲学', 'A', '10002', '中国人民大学'),
('哲学', 'A', '10284', '南京大学'),
('哲学', 'A-', '10027', '北京师范大学'),
('哲学', 'A-', '10183', '吉林大学'),
('哲学', 'A-', '10486', '武汉大学'),
('哲学', 'A-', '10558', '中山大学'),
('哲学', 'B+', '10003', '清华大学'),
('哲学', 'B+', '10055', '南开大学'),
('哲学', 'B+', '10212', '黑龙江大学'),
('哲学', 'B+', '10269', '华东师范大学'),
('哲学', 'B+', '10286', '东南大学'),
('哲学', 'B+', '10335', '浙江大学'),
('哲学', 'B+', '10422', '山东大学'),
('哲学', 'B+', '10487', '华中科技大学'),
('哲学', 'B', '10052', '中央民族大学'),
('哲学', 'B', '10108', '山西大学'),
('哲学', 'B', '10145', '东北大学'),
('哲学', 'B', '10247', '同济大学'),
('哲学', 'B', '10319', '南京师范大学'),
('哲学', 'B', '10384', '厦门大学'),
('哲学', 'B', '10542', '湖南师范大学'),
('哲学', 'B', '10610', '四川大学'),
('哲学', 'B', '10718', '陕西师范大学'),
('哲学', 'B-', '10140', '辽宁大学'),
('哲学', 'B-', '10141', '大连理工大学'),
('哲学', 'B-', '10270', '上海师范大学'),
('哲学', 'B-', '10285', '苏州大学'),
('哲学', 'B-', '10533', '中南大学'),
('哲学', 'B-', '10574', '华南师范大学'),
('哲学', 'B-', '10635', '西南大学'),
('哲学', 'B-', '10698', '西安交通大学'),
('哲学', 'C+', '10053', '中国政法大学'),
('哲学', 'C+', '10075', '河北大学'),
('哲学', 'C+', '10357', '安徽大学'),
('哲学', 'C+', '10385', '华侨大学'),
('哲学', 'C+', '10403', '南昌大学'),
('哲学', 'C+', '10475', '河南大学'),
('哲学', 'C+', '10512', '湖北大学'),
('哲学', 'C+', '10520', '中南财经政法大学'),
('哲学', 'C+', '10730', '兰州大学'),
('哲学', 'C', '10674', '昆明理工大学'),
('哲学', 'C', '10726', '西北政法大学'),
('哲学', 'C-', '10094', '河北师范大学'),
('哲学', 'C-', '10166', '沈阳师范大学'),
('哲学', 'C-', '10370', '安徽师范大学'),
('哲学', 'C-', '10476', '河南师范大学'),
('哲学', 'C-', '10593', '广西大学'),
('哲学', 'C-', '10636', '四川师范大学'),
('哲学', 'C-', '10652', '西南政法大学'),
('哲学', 'C-', '10681', '云南师范大学')]
[Finished in 0.1s]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment