Bonjour,
Je suis actuellement sur un projet ou je dois récupérer un signal issu d'un GBF (Sinus 1OOHz, 2Vpp) avec une carte National Instruments NI USB-6366
J'utilise pour cela le package python fluidlab: https://fluidlab.readthedocs.io/en/latest/index.html qui le permet en une seule commande de faire une acquisition et de mettre les données dans une variable comme suivant:(notez que N=10000 et sampling=10e3)
Code : Sélectionner tout - Visualiser dans une fenêtre à part data1, = read_analog('dev1/ai0', terminal_config='Diff',volt_min=-10, volt_max=10, samples_per_chan=N,sample_rate=sampling, coupling_types='DC')
Je me retrouve donc avec une variable data1 de type float64 de taille (10000,) qui contient toutes mes données dans une tableau (avec l'explorateur de variables de mon IDE Spyder je vois une extrait des données array([ 0.48068259, 0.42349704, 0.36537403, ..., 0.62786508, 0.57817927, 0.52505608])
Ma variable est tout a fait fonctionnelle, je peut l'afficher dans la console avec matplotlib et numpy:
Mon problème est donc de mettre le contenu ce cette variable dans un fichier csv pour pouvoir importer et traiter les données sous d'autres logiciels comme Matlab.
J'ai essayé avec ce code la:
mais ça ne marche pas, la console me sort Error: sequence expected au niveau de la ligne: writer.writerows(data1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 with open ("grafsin.csv","wb") as f: writer = csv.writer(f) writer.writerows(data1)
Merci d'avance pour votre aide
Ruby Smith.
PS: je met mon code entier si besoin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 # -*- coding: utf-8 -*- """ Created on Wed Apr 24 16:32:19 2019 @author: RG259588 """ from fluidlab.instruments.daq.daqmx import read_analog import numpy as np import matplotlib.pyplot as plt import csv N=10000 #Sampless sampling=10e3 #Sample rate #data1,data2, = read_analog(('dev1/ai0','dev1/ai1'), terminal_config='Diff',volt_min=-10, volt_max=10, samples_per_chan=N,sample_rate=sampling, coupling_types='DC', output_filename =None) data1, = read_analog('dev1/ai0', terminal_config='Diff',volt_min=-10, volt_max=10, samples_per_chan=N,sample_rate=sampling, coupling_types='DC') plt.figure() plt.clf() t=np.arange(N)/sampling plt.plot(t,data1) #plt.plot(t,data2) plt.show() #map(int,list(str(data1)) # ##mon_fichier = open("graphsin.txt", "w") ##mon_fichier.write(data1) ##mon_fichier.close() # # with open ("grafsin.csv","wb") as f: writer = csv.writer(f) writer.writerows(data1)
Partager