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

Freigeben: 2023-08-09 15:51:35
nach vorne
638 Leute haben es durchsucht


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()
Nach dem Login kopieren
?️‍? 2. Extrahieren Sie regelmäßig die Informationen in geschweiften Klammern {}
datas = re.findall('({.*?})',data)
Nach dem Login kopieren
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]
Nach dem Login kopieren
Alle 4 Daten sind eine Gruppe, also machen Sie einfach eine Schleife mit step=4:
re.findall('(\d+(\.\d+)?)',datas[0])
Nach dem Login kopieren

?️‍? 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]}')
Nach dem Login kopieren


?️‍? 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()
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:Python当打之年
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage