Python 실용 시리즈 | 정규 데이터 추출 및 그리기

풀어 주다: 2023-08-09 15:51:35
앞으로
606명이 탐색했습니다.


이번 호에서는 "Python Practical Series"의 첫 번째 기사를 여러분과 공유하고 싶습니다. : 정기적인 데이터 추출 및 플로팅, 이 시리즈는 주로 다음과 같습니다. 팬 여러분의 실제 실천을 통해 질문은 앞으로도 계속 업데이트 될 예정입니다 궁금한 점이나 개선이 필요한 부분이 있으면 편집자에게 비공개 메시지를 보내주세요.
작업 설명: txt 파일의 언어별 데이터를 가져와 꺾은선형 차트를 그립니다. data.txt 파일의 스크린샷은 다음과 같습니다(너무 길어서 잘라보겠습니다. 똑바로):

언뜻 보면 json 형식 파일처럼 보이지만 실제로는 Python 실용 시리즈 | 정규 데이터 추출 및 그리기

Python 실용 시리즈 | 정규 데이터 추출 및 그리기 아닙니다. 요점을 말하자면:
?️‍? . 데이터 읽기

with open('data.txt') as f:
    data = f.read()
로그인 후 복사
?️‍? 2. 정기적으로 중괄호 안의 정보를 추출합니다. 날짜 정보와 데이터 정보를 추출하는 것입니다.
Python 실용 시리즈 | 정규 데이터 추출 및 그리기

?️‍? 3. 이름 추출, 이스케이프 주의(') Python 실용 시리즈 | 정규 데이터 추출 및 그리기

datas = re.findall('({.*?})',data)
로그인 후 복사

?️‍? 4. 날짜 및 데이터 추출, 소수점 주의 the data

re.findall('\'(.*)\'',datas[0])[0]
로그인 후 복사
모든 4개 데이터는 그룹이므로
step=4Python 실용 시리즈 | 정규 데이터 추출 및 그리기로 루프를 만드세요.
re.findall('(\d+(\.\d+)?)',datas[0])
로그인 후 복사
?️‍?
for i in range(0,len(datas_tmp),4):
    datas_f.append(float(datas_tmp[i+3][0]))
    dates_f.append(f'{datas_tmp[i][0]}-{datas_tmp[i+1][0]}-{datas_tmp[i+2][0]}')
로그인 후 복사

?️‍? 6. 绘图

绘图部分直接用matplotlib的plot循环绘制即可,代码如下:

# 绘图
plt.figure(figsize=(20, 10), dpi=100)
for i in range(len(names)):
    plt.plot(dates_result[i], datas_result[i], label=names[i])
ax = plt.gca()
ax.xaxis.set_major_locator(ticker.MultipleLocator(20))
plt.ylabel("Ratings(%)", fontdict={'size': 16})
plt.title("TIOBE Programming Community Index", fontdict={'size': 20})
plt.legend(loc='best')
plt.grid(True, linestyle='--', alpha=0.5)
plt.show()
로그인 후 복사

Python 실용 시리즈 | 정규 데이터 추출 및 그리기


위 내용은 Python 실용 시리즈 | 정규 데이터 추출 및 그리기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:Python当打之年
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!