Bonjour, mon problème est un peu long à exposer mais la solution est sans doute simple. Merci à ceux qui auront la patience...
Je cherche à utiliser une fonction Python permettant à partir d'une matrice contenant des données, de créer le fichier au format csv contenant ces mêmes données. Je n'ai pas besoin que cela gère tout types d'erreurs, loin de là...
J'essaie en utilisant un programme écrit par un tiers, simple mais a priori correct. Voici ce programme :
Je crée ensuite une matrice très simple pour tester :
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 def exporterM2csv0(M, nom): p, q = M.shape res = 1 try: f = open(nom, 'w') for i in range(0,p): for j in range(0,q-1): f.write( str(M[i, j]) + ', ') f.write( str(M[i,q-1] ) + ' \n ') f.close() except IOError: print("Erreur d'écriture, ouvert par ailleurs? ") res = 0 finally: return res
puis je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 import numpy as np a,b=10,2 A=np.zeros((a,b)) for i in range(a): A[i,0]=i/a A[i,1]=np.sin(i)
et Python me retourne l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 exporterM2csv0(A,valeurs)
NameError: name 'valeurs' is not defined
Bien sûr, il faut que 'valeurs' soit défini, j'ai donc pris soin de créer un fichier .txt, de nom "valeurs" (vide mais peu importe), qui est dans mon répertoire de travail.
Mais ce n'est visiblement pas la bonne solution. Je ne sais pas ce que je dois faire, et à vrai dire, je ne comprends pas pourquoi ma fonction devrait comporter cet argument "nom", il suffirait pour moi, qu'elle crée ce fichier.
J'ajoute que je travaille sous Spyder, avec Python(x,y).
Quelqu'un peut-il m'aider?
Merci d'avance!
Partager