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 :

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
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
 
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)
puis je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
exporterM2csv0(A,valeurs)
et Python me retourne l'erreur
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!