Je collecte des données sur un périphérique USB et j'obtiens 2 ensembles de données sous la forme d'une variable qui contient 200 points de données sous la forme de chaînes séparées par des virgules. Comment puis-je sauvegarder ces variables en tant que fichiers csv sur mon ordinateur alors? Idéalement, je pense que je voudrais le faire dans une fonction parce que je voudrais le répéter efficacement pour beaucoup d'ensembles de données, sans les surcharger.Enregistrer une liste de chaînes dans un fichier csv?
Voici mon code actuel:
freq = instr.ask("FREQ:DATA?")
data = instr.ask("CALC:DATA:FDATa?")
#convert freq and data to strings comma-separated and then arrays of floats
datalist=data.split(',')
dataarray=np.array(datalist)
datafloat=dataarray.astype(np.float)
freqlist=freq.split(',')
freqarray=np.array(freqlist)
freqfloat=freqarray.astype(np.float)
#save data
output = np.column_stack((freqfloat, datafloat))
with open('output.csv','w') as f:
writer = csv.writer(f)
for row in output:
writer.writerow(row)
Donc, après c'est là que je voudrais créer une fonction de sauvegarde de données que je peux appeler et répéter pour les ensembles de données plus tard. Toute aide est la bienvenue, merci!
Je fini par utiliser 'np.savetxt' pour résoudre mon problème, mais cela fonctionne aussi - merci! Avez-vous des conseils sur la création d'une fonction ici pour que je puisse enregistrer plusieurs ensembles de données et ne rien modifier (c'est-à-dire leur donner des noms uniques sans avoir à revenir dans le programme et à le modifier moi-même)? (Reste du code ajouté à la question) –
Changé utiliser 'csv.writer' –
j'ai amélioré la réponse pour illustrer la façon dont les données peuvent être sauvegardées dans un nouveau fichier à chaque appel. – r0the