>  기사  >  백엔드 개발  >  Python 실용 시리즈 | 정규 데이터 추출 및 그리기

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

Python当打之年
Python当打之年앞으로
2023-08-09 15:51:35578검색


이번 호에서는 "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으로 문의하시기 바랍니다. 삭제