Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Praxisreihe |. Regelmäßige Datenextraktion und -zeichnung

Python-Praxisreihe |. Regelmäßige Datenextraktion und -zeichnung

Python当打之年
Python当打之年nach vorne
2023-08-09 15:51:35630Durchsuche


In dieser Ausgabe möchte ich Ihnen den ersten Artikel der „Python Practical Series“ vorstellen : Regelmäßige Datenextraktion und Darstellung, diese Serie kommt hauptsächlich Aus der tatsächlichen Praxis der Fans werden die Fragen in Zukunft kontinuierlich aktualisiert. Wenn Sie Fragen oder Bereiche haben, die verbessert werden müssen, können Sie eine private Nachricht an den Herausgeber senden.
Aufgabenbeschreibung: Nehmen Sie die TXT-Dateidaten in jeder Sprache, um ein Liniendiagramm zu zeichnen. Der Screenshot der data.txt-Datei sieht wie folgt aus (er ist zu lang und ich schneide ihn gerade aus ):

Auf den ersten Blick sieht es aus wie eine Datei im JSON-Format, ist es aber nicht wirklich Python-Praxisreihe |. Regelmäßige Datenextraktion und -zeichnung

Python-Praxisreihe |. Regelmäßige Datenextraktion und -zeichnung Kommen wir zum Punkt:
?️‍? 1. Lesen Daten

with open('data.txt') as f:
    data = f.read()
?️‍? 2. Extrahieren Sie regelmäßig die Informationen in geschweiften Klammern {}
datas = re.findall('({.*?})',data)
Python-Praxisreihe |. Regelmäßige Datenextraktion und -zeichnung

Python-Praxisreihe |. Regelmäßige Datenextraktion und -zeichnung

Der nächste Schritt besteht darin, Datumsinformationen und Dateninformationen zu extrahieren.


Python-Praxisreihe |. Regelmäßige Datenextraktion und -zeichnung
️‍ die Daten
re.findall('\'(.*)\'',datas[0])[0]
Alle 4 Daten sind eine Gruppe, also machen Sie einfach eine Schleife mit step=4:
re.findall('(\d+(\.\d+)?)',datas[0])

?️‍? 5. Der vollständige Code des Datenextraktionsteils

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-Praxisreihe |. Regelmäßige Datenextraktion und -zeichnung


Das obige ist der detaillierte Inhalt vonPython-Praxisreihe |. Regelmäßige Datenextraktion und -zeichnung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:Python当打之年. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen