강 지 과학기술 · 교무 망 성적 시리즈 글 의 데이터 세척 과 정리

2529 단어
operator 라 이브 러 리 의 itemgetter 는 2 차원 목록 등 을 정렬 할 때 키 값 을 지정 하 는 데 매우 편리 합 니 다.예 를 들 면:
1 data = [[1, '  ', '  '], [2,'  ','  ']]
2 data = sorted(data, key=itemgetter(0))

데이터 2 차원 목록 의 0 번 요소 에 따라 정렬 한 다음 데이터 에 되 돌려 줍 니 다.
사용 하 는 라 이브 러 리: re, operator
1. 데이터 세척
주로 가 져 온 성적 원 데이터 (html 텍스트) 를 정규 표현 식 과 일치 하 게 선별 하여 우리 가 원 하 는 데 이 터 를 얻 습 니 다.
일반적인 상황 에서 웹 페이지 의 데 이 터 는 모두 일정한 형식 에 따라 배열 되 는데, 우 리 는 이런 규칙 을 찾 으 면 그것 을 세척 할 수 있다.
1 import re
2 from orignal_data import main  #       :main
3
4 text = main(verifycode_, cookies_, usr, pwd, kksj)
5 regex = re.compile(r'title="null" >(.*?)')
6 orignal_data = regex.findall(text)  #                   :orignal_data

2. 데이터 정리
청 소 된 데 이 터 를 사용자 에 게 보 여줄 수 있 는 데이터 구 조 를 가 진 형식 으로 재 설정 합 니 다: 2 차원 목록.
 1data = []
 2#           
 3if orignal_data:
 4    for i in range(0,len(orignal_data)):
 5        if orignal_data[i] == usr:
 6            data.append(orignal_data[i:(i+10)])
 7    n = 0
 8    while True:
 9        try:
10            if data[n][-1] != '  ':
11                data[n].insert(6, '--')
12            else:
13                data[n].append(' ')
14            n += 1
15        except:
16            break
17    data = sorted(data, key=itemgetter(2, 3), reverse=True)

전체 소스 코드
 1import re
 2from operator import itemgetter
 3
 4from orignal_data import main
 5
 6def parser_data(verifycode_, cookies_, usr ,pwd, kksj):
 7    '    '
 8    #    
 9    text = main(verifycode_, cookies_, usr, pwd, kksj)
10    regex = re.compile(r'title="null" >(.*?)')
11    orignal_data = regex.findall(text)
12    #    
13    data = []
14    if orignal_data:
15        for i in range(0,len(orignal_data)):
16            if orignal_data[i] == usr:
17                data.append(orignal_data[i:(i+10)])
18        n = 0
19        while True:
20            try:
21                if data[n][-1] != '  ':
22                    data[n].insert(6, '--')
23                else:
24                    data[n].append(' ')
25                n += 1
26            except:
27                break
28        data = sorted(data, key=itemgetter(2, 3), reverse=True)
29
30    return data

음 ~ 이 탄 을 다 치면 일 단락 됩 니 다. 저 는 야외 에 가서 보름 동안 실습 을 해 야 합 니 다. 큰 산 이라는 곳 입 니 다.조건 이 어려워 서 컴퓨터 를 따라 갈 수 없습니다. 먼저 보름 동안 멈 추 겠 습 니 다. 불 과 편집장 이 라 고 불 러 주세요.

좋은 웹페이지 즐겨찾기