J'ai un fichier cvs que je charge et sur lequel je dois recuperer une partie des infos : 5 colonne de 40.000 lignes. Il s'agit des colonnes :
(row[0]), (row[1]), (row[7]), (row[16]), (row[17])
Depuis ce matin je me casse la tête pour mettre 5x40.000 données dans une matrice de 5x40.000 cases
Je pense peut etre encore trop en delphi, d'où mon incapacité à trouver la solution.
def main():
isRGCfileExist (RGCfilename)
#Ouvre le fichier à traiter
openRGCfile(RGCfilename)
...couic...
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Ok. Mais le parseur va quand même gueuler sur le fait qu'il y a plusieurs éléments au lieu d'une racine.
En quoi c'est problematique d'avoir plusieurs noeud racine ? Si on regarde un noeud racine c'est pas different d'un child et il peut y avoir plusieurs child dans un noeud racine. Ai je loupé quelque chose ?
Ok. Mais le parseur va quand même gueuler sur le fait qu'il y a
plusieurs éléments au lieu d'une racine.
En quoi c'est problematique d'avoir plusieurs noeud racine ?
Si on regarde un noeud racine c'est pas different d'un child et il
peut y avoir plusieurs child dans un noeud racine.
Ai je loupé quelque chose ?
Ok. Mais le parseur va quand même gueuler sur le fait qu'il y a plusieurs éléments au lieu d'une racine.
En quoi c'est problematique d'avoir plusieurs noeud racine ? Si on regarde un noeud racine c'est pas different d'un child et il peut y avoir plusieurs child dans un noeud racine. Ai je loupé quelque chose ?
J'ai un fichier cvs que je charge et sur lequel je dois recuperer une partie des infos : 5 colonne de 40.000 lignes. Il s'agit des colonnes : (row[0]), (row[1]), (row[7]), (row[16]), (row[17])
Depuis ce matin je me casse la tête pour mettre 5x40.000 données dans une matrice de 5x40.000 cases
Je pense peut etre encore trop en delphi, d'où mon incapacité à trouver la solution.
Ici, tu crées une liste de 40000 références sur une unique liste de 5 objets. Pour t'en assurer, tu peux tenter d'assigner une valeur à un élement de ta liste et afficher le résultat:
Il semblerait que 40000 listes aient été mises à jour, mais en fait une seule a été modifiée et 40000 références pointent dessus. Une autre méthode permettant de vérifier cette interprétatioon est d'appeler la fonction id() sur chaque élément de la liste de liste, et chacun pourra vérifier qu'il n'existe que 5 identités distinctes dans myarray.
Parfois il est utile de créer une liste de listes en avance de phase tel que tu avais tenté de le coder. Une façon élégante à mon sens de le faire est d'utiliser les listes en intention (ou comprehension lists an anglais):
myarray = [[None for i in xrange(5)] for j in xrange(40000)]
def main(): isRGCfileExist (RGCfilename) #Ouvre le fichier à traiter openRGCfile(RGCfilename)
...couic...
Le 07/08/2010 20:29, Baton Rouge a écrit :
Bonjour
J'ai un fichier cvs que je charge et sur lequel je dois recuperer une partie des infos : 5 colonne de 40.000 lignes. Il s'agit des colonnes :
(row[0]), (row[1]), (row[7]), (row[16]), (row[17])
Depuis ce matin je me casse la tête pour mettre 5x40.000 données dans une matrice de 5x40.000 cases
Je pense peut etre encore trop en delphi, d'où mon incapacité à trouver la solution.
Ici, tu crées une liste de 40000 références sur une unique liste de 5
objets.
Pour t'en assurer, tu peux tenter d'assigner une valeur à un élement de
ta liste et afficher le résultat:
Il semblerait que 40000 listes aient été mises à jour, mais en fait une
seule a été
modifiée et 40000 références pointent dessus. Une autre méthode
permettant de
vérifier cette interprétatioon est d'appeler la fonction id() sur chaque
élément de la
liste de liste, et chacun pourra vérifier qu'il n'existe que 5 identités
distinctes dans
myarray.
Parfois il est utile de créer une liste de listes en avance de phase tel
que tu avais tenté
de le coder. Une façon élégante à mon sens de le faire est d'utiliser
les listes en intention (ou comprehension lists an anglais):
myarray = [[None for i in xrange(5)] for j in xrange(40000)]
J'ai un fichier cvs que je charge et sur lequel je dois recuperer une partie des infos : 5 colonne de 40.000 lignes. Il s'agit des colonnes : (row[0]), (row[1]), (row[7]), (row[16]), (row[17])
Depuis ce matin je me casse la tête pour mettre 5x40.000 données dans une matrice de 5x40.000 cases
Je pense peut etre encore trop en delphi, d'où mon incapacité à trouver la solution.
Ici, tu crées une liste de 40000 références sur une unique liste de 5 objets. Pour t'en assurer, tu peux tenter d'assigner une valeur à un élement de ta liste et afficher le résultat:
Il semblerait que 40000 listes aient été mises à jour, mais en fait une seule a été modifiée et 40000 références pointent dessus. Une autre méthode permettant de vérifier cette interprétatioon est d'appeler la fonction id() sur chaque élément de la liste de liste, et chacun pourra vérifier qu'il n'existe que 5 identités distinctes dans myarray.
Parfois il est utile de créer une liste de listes en avance de phase tel que tu avais tenté de le coder. Une façon élégante à mon sens de le faire est d'utiliser les listes en intention (ou comprehension lists an anglais):
myarray = [[None for i in xrange(5)] for j in xrange(40000)]
def main(): isRGCfileExist (RGCfilename) #Ouvre le fichier à traiter openRGCfile(RGCfilename)
...couic...
Baton Rouge
On Fri, 13 Aug 2010 21:01:52 +0200, cémoi wrote:
Seul l'élément à l'indice [0][1] à été modifié, ce qui correspond au comportement attendu.
En espérant que ça aide,
J'ai deja trouvé la solution, mais je vais garder ça pour la prochaine fois. càd dans quelques jours pour la suite.
-- Travailler plus pour gagner plus pour quoi faire ? Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
On Fri, 13 Aug 2010 21:01:52 +0200, cémoi
<laurent.thioudellet@nospam.free.fr> wrote:
Seul l'élément à l'indice [0][1] à été modifié, ce qui correspond au
comportement attendu.
En espérant que ça aide,
J'ai deja trouvé la solution, mais je vais garder ça pour la prochaine
fois. càd dans quelques jours pour la suite.
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Seul l'élément à l'indice [0][1] à été modifié, ce qui correspond au comportement attendu.
En espérant que ça aide,
J'ai deja trouvé la solution, mais je vais garder ça pour la prochaine fois. càd dans quelques jours pour la suite.
-- Travailler plus pour gagner plus pour quoi faire ? Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?