1 pièce(s) jointe(s)
Mettre le contenu d'un tableau dans un fichier csv
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:
Code:
data1, = read_analog('dev1/ai0', terminal_config='Diff',volt_min=-10, volt_max=10, samples_per_chan=N,sample_rate=sampling, coupling_types='DC')
(notez que N=10000 et sampling=10e3)
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:
Pièce jointe 469887
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:
Code:
1 2 3
| with open ("grafsin.csv","wb") as f:
writer = csv.writer(f)
writer.writerows(data1) |
mais ça ne marche pas, la console me sort Error: sequence expected au niveau de la ligne: writer.writerows(data1)
Merci d'avance pour votre aide
Ruby Smith.
PS: je met mon code entier si besoin
Code:
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) |