2017-09-18 5 views
-1

Mon code lit un tas de fichiers csv et pour chacun d'entre eux je veux mettre à jour la structure avec une nouvelle image.Mettre à jour récursivement la structure de la structure de données en python

Je pourrais le faire facilement dans Matlab mais je ne sais pas comment le faire avec Python. Mon code ressemble à ceci:

  for filename in filenames: 
      if filename.__contains__("Mycsv") == 1: 
       df = pd.read_csv(filename, sep=',', header=None) 

Comment mettre tout cela df dans une seule structure?

+0

poster Peut-être votre solution Matlab pour illustrer ce que vous voulez? –

Répondre

0

Créer une liste de datafranes:

df_list=[] 
for filename in filenames: 
    if filename.__contains__("Mycsv") == 1: 
     df_list.append(pd.read_csv(filename, sep=',', header=None)) 

fusionner ensuite les lectures dataframes (en supposant mêmes colonnes):

df_final=pd.concat(df_list, axis=1) 
+0

oui celui-ci est ce que j'étais après, sans partie concaténaire. Je veux les garder dans cet ordre afin que je puisse indexer chaque tableau. – user3194861

0

Dépend de la structure dans laquelle vous souhaitez l'insérer. Vous pouvez le faire de manière élégante avec des listes ou des dictionnaires.

Pour une liste:

answer = [ pd.read_csv(filename, sep=',', header=None)    
        for filename in filenames 
        if 'Mycsv' in filenames 
       ] 

Vous pouvez indexer dans cette réponse comme [0].

Pour un dictionnaire:

answer = dict((filename, pd.read_csv(filename, sep=',', header=None))    
        for filename in filenames 
        if 'Mycsv' in filenames 
       ) 

Vous pouvez indexer cette réponse comme [nom de fichier].

+0

Celui-ci ajoute les nouvelles données à la trame de données existante. Je veux réaliser une structure avec différents tableaux à l'intérieur. Chaque matrice créée à partir de chaque fichier csv. – user3194861

+0

Je ne suis pas sûr de ce que vous voulez. Pouvez-vous donner un exemple de résultat? –