Code Python pour lire les données csv avec Pandas et les représenter graphiquement avec Matplotlib. Puisque les données csv ont été rendues plus polyvalentes, il est possible de sélectionner un chemin et de le lire.
Python 3.7.3. Le code est ci-dessous.
#Importation de module
import os, tkinter, tkinter.filedialog, tkinter.messagebox
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#Afficher la boîte de dialogue de sélection de fichier
root = tkinter.Tk()
root.withdraw()
#Extension de fichier fTyp= [("","*")] or fTyp = [("","*.csv")]
fTyp = [("csv-file","*.csv"), ("All-file","*")]
#Obtenir le chemin du dossier
iDir = os.path.abspath(os.path.dirname(__file__))
tkinter.messagebox.showinfo('Programme d'analyse','Veuillez sélectionner un fichier!')
file = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir)
print(file)
#Reconnaissance du chemin de fichier
file1 = file.replace('/', os.sep)
file_name = os.path.basename(file)
data_path = os.path.dirname(file1)
os.chdir(data_path)
print(file_name)
#Lire le fichier csv
data = pd.read_csv(file_name,encoding = "utf-8",skiprows = 100)# skiprows = 5 encoding="shift_jis" or "utf-8"
print(data)
#Axe Y(amplitude)Définition de
y = np.array(data)
y = y.reshape(-1,)
#Axe X(Axe du temps)Définition de
samp = 100 #Fréquence d'échantillonnage(Hz)
samp_t = 1/samp
x = np.array(np.arange(0,(samp_t*len(y)),(1/samp)))
#Graphisme
plt.title("Graph")
plt.xlabel("time(s)")#&Étiquette de l'axe horizontal
plt.ylabel("Voltage(v)")#Étiquette verticale
plt.grid(True)#Affichage de l'échelle
plt.tight_layout()#Toutes les parcelles dans une boîte
plt.plot(x,y)
plt.show()
Si vous voulez en savoir plus, veuillez consulter l'article suivant (´ ・ ω ・ `) https://kgrneer.com/python-csv/
Recommended Posts