2017-10-18 2 views
0

J'ai un data frame dans les pandas comme ci-dessous.Boucle sur les colonnes de trame de données dans pandas

df

, pkg 
1,test_1 
2,test_2 
3,test_3 

J'ai un répertoire qui a des sous-répertoires pour chaque pkg en local. Chaque sous-répertoire pkg a un fichier appelé pkg.json

C:\Users\viru\Desktop\Test\pkg\pkg.json 

Je veux ouvrir chaque fichier pkg.json et imprimer le contenu du fichier dans une boucle.

La boucle est inférieure

for package in df1: 
package = 'package' 
with open('C:\Users\viru\Desktop\Test\{}\{}.json'.format(package,package)) as data_file: 
    data = json.load(data_file) 
    print data 

J'ai essayé comme ci-dessus mais obtenir erreur

No such file or directory: 'C:\\Users\\viru\\Desktop\\Test\\pkg\\pkg.json' 

Comment puis-je obtenir ce que je veux

+0

Apparemment, vous avez 2 noms d'utilisateur; 'viru' et' d58426'. Donc, le code semble chercher dans les mauvais répertoires pour les fichiers. – roganjosh

+0

@roganjosh s'il vous plaît vérifier édité Question –

+1

Vous dites que chaque répertoire 'pkg' a un fichier pkg.json, mais il cherche réellement littéralement, voulez-vous dire à la place de chercher .. \\ Test \\ test_1 \\ test_1. json', dans ce cas, vous voulez itérer sur les éléments de la colonne pkg, pas sur les colonnes de la trame de données. – jxramos

Répondre

1

On dirait que nous parcourons à tort sur les colonnes, donc pour parcourir les éléments de la colonne pkg, vous devriez essayer

for pkg in df['pkg'] : 
    with open('C:\Users\viru\Desktop\Test\{}\{}.json'.format(pkg,pkg)) as data_file: 
     data = json.load(data_file) 
     print data